js 阻止子元素继承父元素事件

实现例子:

       var divBtn = document.getElementById("xx"); // xx表示父元素的id

       divBtn.onclick = function(e){

               if(e.target != this) {

                       return;         

               } else{

               }

       }

上述例子为什么能实现子元素事件在发生时,不会执行父元素的事件呢?

原因就在与:e.target 所代表的实际触发的目标元素,如果是在子元素上点击则e.target代表的就是子元素,不会是父元素。而this的话,谁调用就指向谁,所以this不会发生改变,this指向的永远是父元素(不变的前提是不要使用call、apply、bind之内的函数强制修改this的绑定),因此这段代码能实现子元素继承父元素的事件。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值