今天遇到一个问题,听我细细道来一个div id=a 里面还有一个div id =b 问题是点击a会弹出a 那么点击b 会弹出b紧接着弹出a 我想实现的效果是点击b只弹出b

本文通过实例详细解析了JavaScript中事件冒泡的工作原理及如何使用e.stopPropagation()来阻止事件冒泡。通过两个嵌套的div元素展示了点击事件如何从内层元素向外层元素传播,并演示了如何终止这一过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

查资料后知道了  为什么点击b会弹出b再弹出a 这叫做js的冒泡触发,依次向外递归

话不多说上代码

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

js

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

或者是

$('#div1').click(function(e) {
    alert('div1');
})
$('#div2').click(function(e) {
    e.stopPropagation()
    alert('div2');
    //e.stopPropagation() 位置在上在下无所谓
})
e.stopPropagation()是阻止冒泡触发的功能()


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值