【JavaScript】 targetとcurrentTargetの覚書
更新日:2020/07/27
addEventListenerで登録したイベントリスナーの引数は、targetとcurrentTargetというプロパティを持っています。
どちらもイベントに関連したDOM要素を指していますが、どのような要素を指しているのかすぐに忘れてしまうのでメモしておきます。
覚書
target … イベントが発生した要素
currentTarget … イベントを受け取った要素
検証
検証要素
<style>
div{ padding:20px; border:1px solid black;color:white;}
#div1{background:green;}
#div2{background:blue;}
#div3{background:purple;}
</style>
<div id="div1">【div1】
<div id="div2" >【div2】</div>
<div id="div3" >【div3】</div>
</div>
#div1のみに、クリックイベントを登録。
クリックイベントを登録
window.addEventListener( "DOMContentLoaded" , ()=> {
document.getElementById("div1").addEventListener( "click" ,e=>{
console.log( `target:【${ e.target.id }】 currentTarget:【${e.currentTarget.id}】` );
});
});
デモ
上の要素をクリックしてください。
結果:
- #div1をクリック
target:【div1】 currentTarget:【div1】
- #div2をクリック
target:【div2】 currentTarget:【div1】
- #div3をクリック
target:【div3】 currentTarget:【div1】
更新日:2020/07/27
関連記事
スポンサーリンク
記事の内容について
こんにちはけーちゃんです。
説明するのって難しいですね。
「なんか言ってることおかしくない?」
たぶん、こんなご意見あると思います。
裏付けを取りながら記事を作成していますが、僕の勘違いだったり、そもそも情報源の内容が間違えていたりで、正確でないことが多いと思います。
そんなときは、ご意見もらえたら嬉しいです。
掲載コードについては事前に動作確認をしていますが、貼り付け後に体裁を整えるなどをした結果動作しないものになっていることがあります。
生暖かい視線でスルーするか、ご指摘ください。
ご意見、ご指摘はこちら。
https://note.affi-sapo-sv.com/info.php
このサイトは、リンクフリーです。大歓迎です。