e.target 和 e.currentTarget

e.target 返回 直接被点击的元素对象
e.currentTarget 返回 实际进行事件监听的元素对象
就比如下面的A和B元素

<div id="B" style="border: 1px solid red; padding: 20px;">
<div id="A" style="background: lightblue;">Click me</div>
</div>
<script>
    document.getElementById('A').addEventListener('click', function(e) {
        console.log('A (target):', e.target);         // Inner div
        console.log('A (current):', e.currentTarget); // Inner div
    });
    document.getElementById('B').addEventListener('click', function(e) {
        console.log('B (target):', e.target);         // Inner div
        console.log('B (current):', e.currentTarget); // Outer div
    });
</script>

Click <div id="A">:

A Listener: e.target = <div id="A">, e.currentTarget = <div id="A">.
B Listener: e.target = <div id="A">, e.currentTarget = <div id="B">.
posted @ 2025-02-26 12:46  EricS9999  阅读(15)  评论(0)    收藏  举报