私は JavaScript/jQuery が初めてで、関数の作成方法を学んでいます。多くの関数が括弧内に (e) を含んでいます。私が何を意味するかをお見せしましょう:
$(this).click(function(e) {
// does something
});
関数が (e) の値を使用していないように常に見えるのに、なぜ頻繁に使用されるのでしょうか?
私は JavaScript/jQuery が初めてで、関数の作成方法を学んでいます。多くの関数が括弧内に (e) を含んでいます。私が何を意味するかをお見せしましょう:
$(this).click(function(e) {
// does something
});
関数が (e) の値を使用していないように常に見えるのに、なぜ頻繁に使用されるのでしょうか?
e
event
イベント ハンドラーに渡されるオブジェクトの短い var 参照です。
イベント オブジェクトには、基本的に、イベント ハンドラーで使用できる多くの興味深いメソッドとプロパティがあります。
あなたが投稿した例では、MouseEvent
$(<element selector>).click(function(e) {
// does something
alert(e.type); //will return you click
}
DEMO - マウス イベント DEMO の使用e.which
とe.type
いくつかの有用なリファレンス:
http://api.jquery.com/category/events/
http://www.quirksmode.org/js/events_properties.html
http://www.javascriptkit.com/jsref/event.shtml
e
特に意味はありません。e
パラメータが のときに関数パラメータ名として使用するのは単なる慣習ですevent
。
かもね
$(this).click(function(loremipsumdolorsitamet) {
// does something
}
同じように。
その例でe
は、 はその関数の単なるパラメーターですが、それevent
を介して渡されるのはオブジェクトです。
引数はイベントオブジェクトのe
略です。たとえば、デフォルトのアクションをキャンセルするアンカーのコードを作成したい場合があります。これを行うには、次のように記述します。
$('a').click(function(e) {
e.preventDefault();
}
これは、<a>
タグがクリックされたときに、クリックイベントのデフォルトのアクションを防ぐことを意味します。
よく目にするかもしれませんが、引数として指定したとしても、関数内で使用する必要はありません。
jQuerye
ではevent
、現在のイベント オブジェクト。通常、イベント関数が発生するためのパラメーターとして渡されます。
デモ: jQuery イベント
私が使用したデモではe
$("img").on("click dblclick mouseover mouseout",function(e){
$("h1").html("Event: " + e.type);
});
私も使ったかもしれませんevent
$("img").on("click dblclick mouseover mouseout",function(event){
$("h1").html("Event: " + event.type);
});
同じこと!
プログラマーは怠け者で、多くの速記を使用します。部分的には作業が減り、部分的に読みやすさが向上します。それを理解すると、コードを書く際の考え方を理解するのに役立ちます。
現在のイベント オブジェクトへの参照です。
$(this).click(function(e) {
// does something
});
上記のコードを参照すると、
$(this)
変数としての要素があります。
click
実行する必要があるイベントです。
パラメータe
は、js から値の$(this)
値を保持する関数に自動的に渡され、コード内でさらに使用して何らかの操作を実行できます。