jQueryを使用してクリックイベントをリッスンする適切な方法と、それぞれの長所と短所について、いくつかの洞察を教えてください。
.click(function() { ... });
また
.on('click', function () { ... });
私は自分のコードに一貫性があることを確認したいと思います。
jQueryを使用してクリックイベントをリッスンする適切な方法と、それぞれの長所と短所について、いくつかの洞察を教えてください。
.click(function() { ... });
また
.on('click', function () { ... });
私は自分のコードに一貫性があることを確認したいと思います。
jQueryclick
ドキュメントから:
このメソッドはのショートカットです
.on('click', handler)
.click
したがって、基本的には、.on
その単純な形式で使用することに違いはありません。ただし、を使用on
すると、追加のオプションが得られます。たとえば、、、などの追加のパラメータを渡すことができselector
ますdata
。例:たとえば、を.on( events [, selector ] [, data ], handler(eventObject) )
渡すことで、委任されたイベントを作成して、新しいアイテムがDOMに追加された場合でも、イベントがトリガーされるようにすることができます。selector
その理由だけで、私はほとんどの場合を使用する傾向があります.on
。しかし、繰り返しになりますが、.click(function() {
またはを使用すること.on('click', function () {
は機能的に同等です。
これは、よりも英語に似ており、別の関数呼び出しの(ごくわずかな)オーバーヘッドがないため、.on('click')
自明に「優れている」と主張できると思います。.click()
すべてのコメントは、両方の考えを使い果たしているようです
.click(function() {
と
.on('click', function () {
は同等です ( http://api.jquery.com/click/を参照)。
コーディング スタイル自体は主観的なものかもしれませんが、一貫性は対処しやすいかもしれません。バージョンを使用すると、メソッドにさまざまなイベント.on('click', function() {
を渡すことができるため、より一貫性を保つことができます。on()
より多くのユースケースがあるという事実は、その使いやすさを向上させ、潜在的に一貫性を向上させます.
要素自体または .on('click') で .click() を使用することはまったく同じで、単なる簡単な方法です。
クリック イベントをバインドする 1 つの一貫した方法が必要な場合は、ほとんど常に .on()..... を使用する必要があると思います。これは、イベントのデリゲートにも使用できるためです。このようにして、この .on() をすべてのイベント リッスンに使用でき、.click()、.submit()、.delegate()、.live() などの使用を切り替える必要はありません。
これだけでなく読みやすさ。.('on', 'click'..... は、他の委任方法よりもはるかに読みやすいです。