0

リスト内にアイコンがあります。アイコンのダブルクリックを検出できるようにしたいので、リストを削除できます。これはどのように可能ですか (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>

どんな助けでもいただければ幸いです

4

1 に答える 1

2

これを試すことができます:

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

これにより、実行時に要素を削除するクラス ui-icon を持つ任意の要素にダブルクリック イベントがアタッチされます。フェードアウトで親の li 要素を削除する場合:

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

これがあなたが探しているものであることを願っています

于 2010-07-25T18:40:24.403 に答える