2012-05-01 15 views
0

私はlive()の機能をjQueryのon()メソッドに移行していますが、私は確信していますが、いくつかのアドバイスを非常に感謝しています。 jQueryのドキュメントの状態としてjQuery on Selector Issue

、この:

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

このように置き換えます。

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

上記は(私の知る限りでは)問題なくと協力しています。私の選択は、以下のようにもう少し具体的である場合は、私はそれを動作させることはできません。

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

は、第二引数にセレクタを配置することはできませんか?そうでない場合は、「id」を割り当てずにこの問題を回避するにはどうすればよいですか?

すべてのヘルプは非常に私はラインを読むことを期待

答えて

4

を感謝:

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

Ahhhhhhhhは、私がそれを考えなかったとは信じられません。それを行ってあなたに知らせるでしょう。ありがとうございます:-) –

+0

あなたは伝説です!本当にありがとう、私はそれを考えなかったと信じることはできません。すべてソート! :-D –

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

文書を除去することができる - しかし、あなた概念を理解しておく必要があります。

xxx.subelement.subsubelement 
2

オン()メソッドはテキストセレクタのみを使用します。 on()メソッドの目的はすべて、セレクタコンテキストを提供する必要がないようにイベントを委譲できます。要素の内部で.testにイベントを委任したい場合は、次のようにします。

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