解决/阻止 div层内的div层点击事件冒泡触发的小方法

在这里插入图片描述
两个层都绑定了点击事件,但是点击in层的时候,同时也会触发out层的点击事件。但是他并不希望触发out的点击事件,只希望触发in层的点击事件,该怎么处理。页面代码:

<div style="width: 400px;height: 400px;background-color: #678678;" id="outDiv">
    out
    <div style="width: 200px;height: 200px;margin: 50px;background-color: #eaceac;" id="inDiv">in</div>
</div>

解决: 当然,当时就知道,这个解决方案很有问题。但是当时问题有点急,就随手这样解决了,看起来也没出现什么bug。只是代码非常的不优雅。直到今天,读到了《基于MVC的JavaScript Web富应用开发》中的第二章,关于如何取消事件冒泡的方法。才算是比较靠谱的解决了这个问题,代码如下:

inDiv.addEventListener('click',function(e){
       alert('in');
       e.stopPropagation();//终止事件冒泡
},false);
outDiv.addEventListener('click',function(e){
       alert('out');
},false);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值