0

jQueryを使用してクリックイベントをリッスンする適切な方法と、それぞれの長所と短所について、いくつかの洞察を教えてください。

.click(function() { ... });

また

.on('click', function () { ... });

私は自分のコードに一貫性があることを確認したいと思います。

4

4 に答える 4

2

jQueryclick ドキュメントから:

このメソッドはのショートカットです.on('click', handler)

.clickしたがって、基本的には、.onその単純な形式で使用することに違いはありません。ただし、を使用onすると、追加のオプションが得られます。たとえば、、、などの追加のパラメータを渡すことができselectorますdata。例:たとえば、を.on( events [, selector ] [, data ], handler(eventObject) )渡すことで、委任されたイベントを作成して、新しいアイテムがDOMに追加された場合でも、イベントがトリガーされるようにすることができます。selectorその理由だけで、私はほとんどの場合を使用する傾向があります.on。しかし、繰り返しになりますが、.click(function() {またはを使用すること.on('click', function () {は機能的に同等です。

于 2013-02-21T21:54:12.427 に答える
1

これは、よりも英語に似ており、別の関数呼び出しの(ごくわずかな)オーバーヘッドがないため、.on('click')自明に「優れている」と主張できると思います。.click()

于 2013-02-21T21:54:35.233 に答える
1

すべてのコメントは、両方の考えを使い果たしているようです

.click(function() {

.on('click', function () {

は同等です ( http://api.jquery.com/click/を参照)。

コーディング スタイル自体は主観的なものかもしれませんが、一貫性は対処しやすいかもしれません。バージョンを使用すると、メソッドにさまざまなイベント.on('click', function() {を渡すことができるため、より一貫性を保つことができます。on()より多くのユースケースがあるという事実は、その使いやすさを向上させ、潜在的に一貫性を向上させます.

于 2013-02-21T22:00:07.690 に答える
1

要素自体または .on('click') で .click() を使用することはまったく同じで、単なる簡単な方法です。

クリック イベントをバインドする 1 つの一貫した方法が必要な場合は、ほとんど常に .on()..... を使用する必要があると思います。これは、イベントのデリゲートにも使用できるためです。このようにして、この .on() をすべてのイベント リッスンに使用でき、.click()、.submit()、.delegate()、.live() などの使用を切り替える必要はありません。

これだけでなく読みやすさ。.('on', 'click'..... は、他の委任方法よりもはるかに読みやすいです。

于 2013-02-21T22:46:14.810 に答える