A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© JoyZhang 中级黑马   /  2021-4-11 15:56  /  2200 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  • target指向被单击的对象
  • currentTarget指向当前事件活动的对象
先看个例子
[JavaScript] 纯文本查看 复制代码
<body>
    <div id="a">
        <div id="b">
            <div id="c">
                <div id="d"></div>
            </div>
        </div>
    </div>
    
    <script>
        document.getElementById('a').addEventListener('click', function ( e ) {
            console.log('target:' + e.target.id + '¤tTarget:' + e.currentTarget.id);
        });
        document.getElementById('b').addEventListener('click', function ( e ) {
            console.log('target:' + e.target.id + '¤tTarget:' + e.currentTarget.id);
        });
        document.getElementById('c').addEventListener('click', function ( e ) {
            console.log('target:' + e.target.id + '¤tTarget:' + e.currentTarget.id);
        });
        document.getElementById('d').addEventListener('click', function ( e ) {
            console.log('target:' + e.target.id + '¤tTarget:' + e.currentTarget.id);
        });
    </script>
</body>



不必记什么时候e.currentTarget和e.target相等,什么时候不等,理解两者的究竟指向的是谁即可。
  • e.target 指向触发事件监听的对象。
  • e.currentTarget 指向添加监听事件的对象
给上面代码a注册事件,currentTarget始终指向了a,点击d的时候,target指向了d,current仍然指向a






0 个回复

您需要登录后才可以回帖 登录 | 加入黑马