イベント委譲では、親要素1箇所にリスナーを付けて if ( ( A ).matches(“.item”) ) { … } のように分岐する。( A ) には実際にイベントを発生させた要素を表すプロパティ、親側の要素を指すのは ( B ) である。
解答
A: event.target
B: event.currentTarget
解説
event.target は実際にクリックされた最深の要素。currentTarget は現在ハンドラが束ねられている要素(委譲元の親)を指す。
使用例(サンプルコード)
[ html ]
<ul id="list">
<li class="item">A</li><li class="item">B</li>
</ul>
<script>
list.addEventListener("click", e => {
if (e.target.matches(".item")) {
console.log("クリックされたLI:", e.target.textContent);
console.log("ハンドラ所有者:", e.currentTarget.id);
}
});
</script>