0

live()関数を jQuery のメソッドに移行中ですが、on()不明な点が 1 つあります。アドバイスをいただければ幸いです。

jQueryのドキュメントに記載されているように、これは次のとおりです。

$('.test').live({
    click: function(){
        alert('.test Clicked')
    }
});

これに置き換えられます:

$(document).on('click','.test',function(){
    alert('.test Clicked')
});

上記は問題なく動作しています(私の知る限り)。ただし、セレクターが次のようにもう少し具体的である場合、動作させることができません。

$(document).on('click',$('.test',element),function(){
    alert('.test Clicked')
});

セレクターを 2 番目のパラメーターに配置することはできませんか? そうでない場合、「id」を割り当てずにこれを回避するにはどうすればよいですか?

どんな助けでも大歓迎です

4

3 に答える 3

4

行が次のように表示されることを期待します。

$(element).on('click','.test',function(){
    alert('.test Clicked')
});
于 2012-05-01T12:48:33.140 に答える
2

on() メソッドは、テキスト セレクターのみを受け取ります。on() メソッドの全体的な目的は、イベントをデリゲートできるようにすることであり、セレクター コンテキストを提供する必要はありません。要素内の .test にイベントをデリゲートする場合は、次のようにします。

$(element).on('click','.test',function() {
   alert('.test clicked');
});
于 2012-05-01T12:49:23.483 に答える
1
$(document).find(element).on('click','.test',function(){
    alert('.test Clicked')
});

ドキュメントは削除できますが、その概念を理解する必要があります。

xxx.subelement.subsubelement
于 2012-05-01T12:49:00.133 に答える