JQuery: Как обнаружить клики по иконкам внутри li? - PullRequest
0 голосов
/ 25 июля 2010

У меня есть значок внутри списка, я хотел бы просто иметь возможность обнаружить двойной щелчок по значку - чтобы я мог удалить список, как это возможно (JQuery Sortable)

$("#roleList").dblclick(function(e) {
    var text = $(e.target).html();
    $(e.target).fadeOut('slow', function() {
        $("#deleteList").append(e.target);
    });
});


<ul id="roleList" class='droptrue'>
    <li class="ui-state-default" id="20~Role 1"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span><input id="20" name="20" type="text" value="Director General" /></li>                                                                             
<li class="ui-state-default" id="1~Role 2"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span><input id="1" name="1" type="text" value="Director" /></li>
</ul>

Итак, я хочу обнаружить щелчок по классу "ui-icon ui-icon-arrowthick-2-n-s", чтобы я мог вызвать .fadeout и «удалить» этот элемент списка.

Полагаю, если я смогу это сделать, это не сработает:

var text = $(e.target).html();
$(e.target).fadeOut('slow', function() {
    $("#deleteList").append(e.target);
});

Мне придется сделать e.target.parent? Потому что я хотел бы .fadeout ВСЕ <li>, а не просто значок.

Любая помощь будет оценена

1 Ответ

2 голосов
/ 25 июля 2010

Вы можете попробовать это:

$(".ui-icon").live("dblclick", function(){
  $(this).remove();
});

Это прикрепит событие двойного щелчка к любому элементу с классом ui-icon, который при выполнении удалит элемент.Если вы хотите удалить родительский элемент li с постепенным исчезновением:

$(".ui-icon").live("dblclick", function(){
      $(this).parent('li:first').fadeOut('slow', function(){
        $(this).remove();
       });
 });

Я надеюсь, это то, что вы ищете

...