まず、イベントオブジェクトを紹介します。イベントはブラウザ内のオブジェクト、つまりイベントの形で存在します。イベントがトリガーされると、イベント オブジェクト イベントが生成されます。これには、イベントに関連するすべての情報が含まれます。イベントを引き起こした要素、イベントの種類、および特定のイベントに関連するその他の情報が含まれます。 この記事は主に JavaScript イベントの js イベント オブジェクトに関する情報を紹介するもので、必要な方は参考にしてください
1。イベントオブジェクトを理解する
イベントはブラウザ内のオブジェクト、つまりイベントの形で存在します。イベントがトリガーされると、イベント オブジェクト イベントが生成されます。これには、イベントに関連するすべての情報が含まれます。イベントを引き起こした要素、イベントの種類、および特定のイベントに関連するその他の情報が含まれます。例: マウス操作によって生成されたイベントにはマウスの位置に関する情報が含まれ、キーボード操作によって生成されたイベントには押されたキーに関連した情報が含まれます。
すべてのブラウザはイベント オブジェクトをサポートしていますが、DOM ではイベント オブジェクトをイベント処理関数に唯一のパラメータとして渡す必要があります。IE では、イベントはウィンドウ オブジェクトの属性です。2. HTMLイベントハンドラーのイベント
<input id="btn" type="button" value="click" onclick=" console.log('html事件处理程序'+event.type)"/>
3. DOM 内のイベント オブジェクト
DOM レベル 0 および DOM レベル 2 のイベント ハンドラーは、パラメーターとしてイベントに渡されます。<body> <input id="btn" type="button" value="click"/> <script> var btn=document.getElementById("btn"); btn.onclick=function(event){ console.log("DOM0 & click"); console.log(event.type); //click } btn.addEventListener("click", function (event) { console.log("DOM2 & click"); console.log(event.type); //click },false); </script> </body>
最初のケース: DOM0 レベルのメソッドを通じてイベント ハンドラーを追加する場合、イベント オブジェクトはウィンドウ オブジェクトの属性として存在します。 <body>
<input id="btn" type="button" value="click"/>
<script>
var btn=document.getElementById("btn");
btn.onclick= function () {
var event=window.event;
console.log(event.type); //click
}
</script>
</body>
2 番目のケース:attachEvent() を通じて追加されたイベント ハンドラー、イベント オブジェクトがパラメーターとして渡されます。
rreee
しかし、理解できないことが2つあります。
1. イベント パラメーターは、DOM レベル 0 メソッドを通じて追加されたイベント ハンドラーに渡すこともできます。その型は window.event.type と同じですが、渡されるイベント パラメーターは window.event とは異なります。 。 なぜ? ? <body>
<input id="btn" type="button" value="click"/>
<script>
var btn=document.getElementById("btn");
btn.attachEvent("onclick", function (type) {
console.log(event.type); //click
})
</script>
</body>
2.attachEvent を通じて追加されたイベント ハンドラーで渡されるイベントが window.event とは異なります。
btn.onclick= function (event) { var event1=window.event; console.log('event1.type='+event1.type); //event1.type=click console.log('event.type='+event.type); //event.type=click console.log('event1==event?'+(event==event1)); //event1==event?false }
以上、編集者が紹介したJavaScriptイベント学習まとめ(3) jsイベントオブジェクトの関連知識 もっと詳しく知りたい方は、スクリプトハウスにご注目ください。 Webサイト !
関連する推奨事項:
JavaScript イベントの学習の概要 (2) js イベント ハンドラー
以上がイベントオブジェクトについて紹介します。jsイベントオブジェクトとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。