イベントリスナーとeventオブジェクト : JavaScript


イベントリスナーのeventオブジェクトについてのメモ。

eventオブジェクト

イベントリスナーのコールバック関数に対して明示的に引数を渡すことはできません。コールバック関数は自動的に引数としてeventオブジェクトを受け取ります。
コールバック関数側に引数を定義することにより受け取ったイベントオブジェクトを利用できます[1]

var callback = function (e) {
	var type = e.type; // type<sup>[2]</sup>
	alert(type);
}

1. イベントハンドラとeventオブジェクト : JavaScriptも参照。
イベントリスナーとイベントハンドラの違いに注意。
2. イベントオブジェクトのtypeプロパティはIE,Firefox共通ですが、両者で異なるプロパティも多くあります。

window.event

Firefoxとは異なり、IEのeventにはデフォルト処理を停止する機能などがありません。IEではそれらの機能は、IE固有のwindow.eventにより提供されています。

IEのイベントハンドラとイベントリスナーのeventオブジェクトの違い

IEの場合JavaScriptはイベントハンドラに自動的にイベントオブジェクトを渡すことはありません。一方イベントリスナーでは自動的に第一引数としてイベントオブジェクトが渡されます。window.eventオブジェクトはどちらでも利用できます。

コメント

No comments yet.

コメントの投稿

改行と段落タグは自動で挿入されます。
メールアドレスは表示されません。