カテゴリー
JavaScript

イベントハンドラの引数

イベントハンドラが呼び出されるときには、唯一の引数として、イベントオブジェクトが渡されるのが普通
このイベントオブジェクトのプロパティには、イベントの詳細情報が格納されている。

17.2.1項の方法でイベントハンドラを登録 かつ IE8以前の場合
イベントオブジェクトが渡されない。

イベントオブジェクトは、window.eventグローバル関数から取得できる。

	function handler(event) {
		event = event || window.event;
	}

attachEvent()を使って登録されたイベントハンドラには、
イベントオブジェクトがいh奇数として渡される。
ただし、window.eventを使うこともできる。

HTML属性を設定することにより、イベントハンドラを登録するときは、JavaScriptコード文字列を関数に変換する

E以外のブラウザでは、eventという名前の引数を1つだけ持つような関数に変換する。
IEでは、引数が渡されないような関数に変換する。
このような関数でeventという識別子を使えば、window.eventを参照することになる。
どちらの場合でも、HTMLイベントハンドラからは、eventという名前でイベントオブジェクトを参照できる

参考書籍:

オライリー JavaScript 第6版

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です