0

イベント ハンドラーを記述する 2 つの異なる方法を次に示します。

$('element').on("click",function(){
    // do stuff
});

$('element').click(function(){
    // do stuff
});

両者の主な違いは何ですか?一方が他方よりも適しているのはどのような状況ですか?

4

2 に答える 2

1

jQueryのAPIドキュメントによると

.on() メソッドは、jQuery オブジェクトで現在選択されている要素のセットにイベント ハンドラーをアタッチします。jQuery 1.7 以降、.on() メソッドは、イベント ハンドラーをアタッチするために必要なすべての機能を提供します。古い jQuery イベント メソッドからの変換については、.bind()、.delegate()、および .live() を参照してください。.on() でバインドされたイベントを削除するには、.off() を参照してください。1 回だけ実行されてから削除されるイベントをアタッチするには、.one() を参照してください。

この.on(...)関数は、他のすべてのイベント バインディング メカニズムを利用します。常に機能するはずです。jQueryのAPIドキュメントによると

このメソッドは、最初の 2 つのバリエーションの .on( "click", handler ) と、3 番目のバリエーションの .trigger( "click" ) のショートカットです。クリック イベントは、マウス ポインターが要素の上にあり、マウス ボタンが押されて離されると、要素に送信されます。任意の HTML 要素がこのイベントを受け取ることができます。たとえば、次の HTML を考えてみましょう。

.click(...)へのショートカットですelement.on("click", ...)

于 2013-10-03T14:21:49.040 に答える