ホームページ > 記事 > ウェブフロントエンド > addEventListenerとonの違いを詳しく解説
前回の記事で、JavaScriptでのaddEventListenerの使い方を紹介しましたが、皆さんはaddEventListenerについてよく理解できたと思いますので、今日は引き続きaddEventListenerとonの違いを紹介していきます。
なぜ addEventListener が必要なのでしょうか?
最初にスニペットを見てみましょう:
html コード
<div id="box">追梦子</div>
on コードを使用します
window.onload = function(){ var box = document.getElementById("box"); box.onclick = function(){ console.log("我是box1"); } box.onclick = function(){ box.style.fontSize = "18px"; console.log("我是box2"); } } 运行结果:“我是box2”
ほら、2 番目の onclick が最初の onclick をカバーしていますが、ほとんどの場合、on を使用して目的の結果を完成させることができます。しかし、場合によっては、複数の同一の イベント を実行する必要があることは明らかです。on で目的を達成できない場合は、推測する必要はありません。それはわかっているはずです。 addEventListener は同じイベントを複数回バインドでき、前のイベントを上書きしません。
addEventListener
window.onload = function(){ var box = document.getElementById("box"); box.addEventListener("click",function(){ console.log("我是box1"); }) box.addEventListener("click",function(){ console.log("我是box2"); }) } 运行结果:我是box1 我是box2
のコードを使用します。addEventListenertメソッドの最初のパラメータはイベント名を入力する必要はありません。2番目のパラメータは関数であるかどうかを参照します。イベントはバブリング フェーズまたはキャプチャ フェーズで処理されます。処理 プログラムでは、true の場合はキャプチャ フェーズの処理を表し、false の場合はバブリング フェーズの処理を表します。3 番目のパラメータは省略でき、ほとんどの場合、その必要はありません。 3 番目のパラメータを使用します。3 番目のパラメータが記述されていない場合、デフォルトは false です
3 番目のパラメータの使用方法場合によっては、次のような状況になります<body> <div id="box"> <div id="child"></div> </div> </body>ボックスにクリックイベントを追加すると、ボックスを直接入力しても問題ありませんが、子要素をクリックすると、「How is itexecuted?」と表示されます。 (実行順序)
box.addEventListener("click",function(){ console.log("box"); }) child.addEventListener("click",function(){ console.log("child"); }) 执行的结果: child boxつまり、デフォルトではイベントがバブルアップした順に実行されます。 3番目のパラメータをtrueにすると、イベントキャプチャの実行順序に従います。
box.addEventListener("click",function(){ console.log("box"); },true) child.addEventListener("click",function(){ console.log("child"); }) 执行的结果: box childイベントバブリングの実行プロセス: 最も具体的な要素(クリックした要素)から開始し、上向きにバブリングを開始します。上記の順序では、子->ボックスイベントキャプチャの実行プロセス: 具体性の低い要素(一番外側のボックス)から始めて、内側に向かってバブルしていきます。上記の場合、順序は次のとおりです: box->child
要約:
addEventListener と on の違いを詳しく説明します。サンプル メソッドを通じて、友人が addEventListener の使用方法などをよりよく理解できるようになり、あなたの作業に役立つことを願っています。関連する推奨事項:
JavaScript での addEventListener の使用方法の詳細な説明
JavaScript DOM オブジェクトの学習イベント ストリーム addEventListener() の使用方法のチュートリアル
分析 addEventListener() とjsでremoveEventListener()
以上がaddEventListenerとonの違いを詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。