5

並べ替え可能な2つのリスト(#sortable1と#sortable2)があり、並べ替え可能なclick()各アイテムのクリックイベント($("#sortable1 li").click(function(){})および$("#sortable2 li").click(function(){}))を処理する2つの関数を作成しました。

1つのアイテムを#sortable1(例:Sort1 Item 2)リストから#sortable2リストに移動します。問題は、アイテムが#sortable2に移動し、それをクリックしようとすると、トリガーされたマウスイベントがでは$("#sortable1 li").click(function(){})ないこと$("#sortable2 li").click(function(){})です。

何か提案があるので、アイテムをsortable1からsortable2に移動してそのアイテムをクリックすると、アイテムがトリガーされ$("#sortable2 li").click(function(){})ますか?

デモ:http://jsfiddle.net/yosafatade/zX3pX/12/

4

3 に答える 3

3

置き換えられたように使用.onします。.delegateそうすれば、イベントをリストアイテムではなくリストに添付できます。

これを使って:

$("#sortable1").on("click", "li", function(){
        $("#testClickSort1").html($(this).html());
});

$("#sortable2").on("click", "li", function(){
        $("#testClickSort2").html($(this).html());
});

フィドル: http: //jsfiddle.net/qkCcS/

于 2012-10-18T16:35:54.560 に答える
3

使用する必要がありますon()更新http://jsfiddle.net/zX3pX/13/を参照してください

于 2012-10-18T16:27:35.493 に答える
0

私はおそらくそれがどのテーブルにあるかという各アイテムにクラスを追加するでしょうli。例えば

<li class='sort1'></li>

次に、チェック.clickオン$(".sort1")するときとアイテムを移動するときに実行します

$(this).removeClass("sort1");
$(this).addClass("sort2");
于 2012-10-18T16:31:55.603 に答える