jqueryでクリックイベントを処理するためのいくつかの方法に出くわしました。
練る:
$('#mydiv').bind('click', function() {
...
});
クリック:
$('#mydiv').click(function() {
...
}
の上:
$('mydiv').on('click', function() {
...
}
2つの質問:
- 彼らはこれを行う他の方法はありますか?
- どちらを使用する必要がありますか、またその理由は何ですか?
アップデート:
eveyoneが参考に提案したように、私はドキュメントをもっとよく読んで、次のように使用する必要があることがわかりました。
on()またはclick()、
事実上同じものです。
しかし、バインドが推奨されなくなった理由を誰も説明していませんか?私はおそらくどこかで明白なものを逃したことでより多くの反対票を得るでしょう、しかし私はこれの理由を文書で見つけることができません。
UPDATE2:
'on'には、動的に作成された要素にイベントハンドラーを追加できるという便利な効果があります。例えば
$('body').on('click',".myclass",function() {
alert("Clicked On MyClass element");
});
このコードは、クラスが「myClass」の要素にクリックハンドラーを追加します。ただし、後でさらにmyClass要素が動的に追加されると、明示的に'on'を呼び出さなくても、クリックハンドラーも自動的に取得されます。人々が言っていることから、これもより効率的です(以下のSimonsの回答を参照)。