これらのイベント処理の違いは何ですか
$(document).on("click","selector",function(event){
});
と
$("selector").live("click",function(event){
});
これらのイベント処理の違いは何ですか
$(document).on("click","selector",function(event){
});
と
$("selector").live("click",function(event){
});
最初のケースでは、イベントは「ドキュメント」DOMに添付されていますよね?
2番目のケースでは、イベントは「セレクター」DOMに添付されています。
最初のものはjQueryによって選択されました:ソリューション1 /(ドキュメントはすべてのイベントに添付できます)のイベントをキャッチする要素はごくわずかですが、ソリューション2/ではページの多くの要素がメモリ内にありイベントに添付されています。
例えば :
$(".test").live("click",function(event){"do something"}
$(".test1").live("click",function(event){"do something1"}
$(".test2").live("click",function(event){"do something2"}
3つの要素がクリックイベントをリッスンしていますよね?
これで、これらの要素はdiv「myDiv」に含まれます
$("#myDiv").on("click",".test",function(event){"do something"}
$("#myDiv").on("click",".test",function(event){"do something"}
$("#myDiv").on("click",".test",function(event){"do something"}
myDivだけがバブリングでイベントクリックに接続されます!
ただし、ドキュメントタグではonを使用しないでください。この関数は、いくつかのグローバルdivで使用してください。
まず、.on()
メソッドは、使用する必要のある実際のイベントリスナーです。
2番目 .live()
は#1でしたが、最後のバージョンでは非推奨になっているため、もう使用しないでください。
仕事は同じように、あなたはそれを同じように呼ぶことができます。