イベント ハンドラーを記述する 2 つの異なる方法を次に示します。
$('element').on("click",function(){
// do stuff
});
対
$('element').click(function(){
// do stuff
});
両者の主な違いは何ですか?一方が他方よりも適しているのはどのような状況ですか?
イベント ハンドラーを記述する 2 つの異なる方法を次に示します。
$('element').on("click",function(){
// do stuff
});
対
$('element').click(function(){
// do stuff
});
両者の主な違いは何ですか?一方が他方よりも適しているのはどのような状況ですか?
.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", ...)