-1

これらのイベント処理の違いは何ですか

       $(document).on("click","selector",function(event){

        });

       $("selector").live("click",function(event){

       });
4

2 に答える 2

1

最初のケースでは、イベントは「ドキュメント」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で使用してください。

于 2012-08-30T09:12:35.530 に答える
0

まず、.on()メソッドは、使用する必要のある実際のイベントリスナーです。

2番目 .live()は#1でしたが、最後のバージョンでは非推奨になっているため、もう使用しないでください。

仕事は同じように、あなたはそれを同じように呼ぶことができます。

于 2012-08-30T09:04:01.130 に答える