3

function(){とfunction(e){の違いは何ですか?ウェブ全体で、私は次のような多くの場所で見ました、

$('element').bind(function(){});

$('element').bind(function(e){});

しかし、誰もがこれを明確に区別できますか?私がそれを理解できるように。

4

5 に答える 5

5

ドキュメントはそれをかなりよく説明していると思います。どちらでもかまいませんが、イベントオブジェクトにアクセスする必要がある場合は、その引数を渡す必要があります。それ以外は、機能的には同じです。

于 2012-09-20T15:58:23.547 に答える
2

違いは、イベントオブジェクトがイベント関数に渡されることです。イベントオブジェクトの詳細はここにあります

  • $('element').bind(function(){})その中にイベントオブジェクトを提供しません。

  • $('element').bind(function(e){})提供イベントオブジェクトは、e.targetによってイベントを引き起こしたソースを特定するために使用でき、stopPropagation()などのメソッドを提供します。

ライブデモ

ここでのライブデモでは、イベントオブジェクトなしでクリックされているtdのIDを取得することはできません。

于 2012-09-20T15:58:58.087 に答える
0

2番目の形式では、イベントに関連付けられたEventオブジェクトを使用できます。

于 2012-09-20T15:59:05.897 に答える
0

eは、呼び出し元のコード(jQuery)からハンドラーに渡されるイベントオブジェクトに他なりません。ただし、ハンドラーに含めるかどうかを選択できます。

基本的には使用可能ですが、ハンドラー関数に含めるかどうかはユーザー次第です。

于 2012-09-20T15:59:09.590 に答える
0

2番目のステートメントの「e」オブジェクトにアクセスできるという事実を除いて、文字通り違いはありません。これは、送信者オブジェクト(関数をアクティブ化した要素)です。

于 2012-09-20T15:59:10.680 に答える