小池啓仁 ヒロヒト応援ブログ By はてな

小池啓仁(コイケヒロヒト)の動画など。

小池啓仁 ヒロヒト応援ブログ By はてな

JavaScriptイベントオブジェクトのIEとIE以外系での違い

イベントオブジェクトは、イベントが発生した時の情報(キーやマウスのイベント情報)が格納されます。
IE以外系ではその情報が、イベントハンドラへ第一引数(慣例的にeという引数名)で渡されます。
IEではその情報が、グローバル変数『window.event』へ格納されます。

<p id="test1">
onclickしてください。するとイベントオブジェクトのプロパティが出ます。
</p>
<script type="text/javascript">
<!--
obj = document.getElementById("test1");
obj.onclick = func1;
function func1(e) {
	if(!e) e = window.event; // for IE
	var allevent = "";
	for (var wk in e) {
		allevent= allevent + wk + "<br>";
	}
	obj.innerHTML = allevent;
}
-->
</script>

JavaScriptの仕様的には、IEの方が違反しているとのことです。