阻止事件冒泡

如何阻止事件冒泡

事件冒泡

事件冒泡就是在一个嵌套关系中,子元素与父元素绑定了相同的事件触发条件,这里以单击click为例,当单击子元素时,父元素也会的事件也会触发,这中由内到外的触发方式就叫做事件冒泡以下面代码为例,

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        #father{
            width: 100px;
            height:100px;
            background-color: aqua;
        }
        #son{
            width: 50px;
            height:50px;
            background-color: red;
        }
    </style>
</head>

<body>
    <div id="father">
        <div id="son">

        </div>
    </div>
</body>
<script>
    var father=document.getElementById('father')
    var son=document.getElementById('son')
    father.οnclick=function(){
        console.log('father');
    }
    son.οnclick=function(){
        console.log('son');
    }
</script>
</html>

代码运行后,单击son盒子后控制台打印结果
当单击红色的子盒子时

阻止事件冒泡

阻止事件冒泡触发也很简单,只需要在想要截住元素处添加停止传播的代码就可以了,两层嵌套就在子元素的事件中添加,三层嵌套,如果想触发二三层,就在第二层添加event.stopPropagation(),其中even是事件对象。将上面的js进行修改,将son的触发事件改为下面的

son.onclick=function(event){
        console.log('son');
        //浏览器兼容写法 获取事件
        var event=event||window.event 
        //事件停止传播
        event.stopPropagation()

    }

改完后运行结果
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值