私はプログラミングが初めてです。以下のコードの function(e) の「e」は正確には何ですか? メソッドの受信者が何であれ、「これ」は何を指していると思いますか?勝手な推測です。しかし、それでも、「e」なしで function(e) を function() として残すことはできないのでしょうか?
$("#" + id).live("mouseenter", function (e) {
$(this).toggleClass("twittereyesopen");
});
私はプログラミングが初めてです。以下のコードの function(e) の「e」は正確には何ですか? メソッドの受信者が何であれ、「これ」は何を指していると思いますか?勝手な推測です。しかし、それでも、「e」なしで function(e) を function() として残すことはできないのでしょうか?
$("#" + id).live("mouseenter", function (e) {
$(this).toggleClass("twittereyesopen");
});
e
でありevent object
、イベント データが含まれています。属性とメソッドの説明を見つけることができるjQuery Event Typeを参照してください。
属性:
方法:
e
単なるパラメータ名です。好きなように名前を付けることができます。関数に渡される最初の引数を参照します。この場合はイベント オブジェクトになります。
ブラウザーがイベントをトリガーするか、他の JavaScript が jQuery の
.trigger()
メソッドを呼び出すと、jQuery はハンドラーにイベント オブジェクトを渡し、イベントのステータスを分析および変更するために使用できます。このオブジェクトには、ブラウザによって提供される正規化されたデータのサブセットが含まれます。ブラウザの変更されていないネイティブ イベント オブジェクトは で利用できますevent.originalEvent
。
何this
を参照するかは、関数の呼び出し方法によって異なります。jQuery では、this
内部のイベント ハンドラーは、ハンドラーが (論理的に) バインドされている要素を参照します。
jQuery がハンドラーを呼び出すとき、
this
キーワードはイベントが配信される要素への参照です。直接バインドされたイベントの場合、これはイベントが添付された要素であり、委任されたイベントの場合、これは一致する要素selector
です。(これはevent.target
、イベントが子孫要素からバブルした場合とは異なる場合があることに注意してください。)要素から jQuery オブジェクトを作成して、jQuery メソッドで使用できるようにするには、 を使用します$(this)
。
MDN は、一般的に良い説明を提供します。this
詳細については、.on
ドキュメントを参照してください。
しかし、それでも、「e」なしで function(e) を function() として残すことはできないのでしょうか?
はい、もちろん、JavaScript ではパラメーターなしで関数を定義できますが、それらに引数を渡してもエラーはスローされません。
イベントのe
スタンドです。イベントをキャプチャしており、イベントに対してアクションを実行できます。