JavaScript-DOM-事件冒泡

JavaScript-DOM-事件冒泡

事件的冒泡(Bubble)

  所谓的冒泡就是事件自下而上的响应,当后代元素的事件被触发时,其祖先元素的相同事件也会被触发。在开发中大部分情况下事件冒泡都是有用的,如果不希望发生事件冒泡,可以通过将事件对象属性cancelBubble设置为true来取消冒泡。
  用一张图来描述更清晰:
在这里插入图片描述

实例-点击事件逐层触发

运行下面这个完整例子来感受一下事件如何冒泡吧!

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>DOM-事件冒泡示例</title>
        <script>
            window.onload = function(){
                document.body.onclick = function(){
                    alert('我是body!');
                }
                let box1 = document.getElementById('box1');
                box1.onclick = function(){
                    alert('我是div!');
                }
                let span1 = document.getElementById('span1');
                span1.onclick = function(event){
                    event = event|| window.event;
                    // 取消冒泡:通过设置事件对象的cancelBubble属性
                    // event.cancelBubble = true;
                    alert('我是span!');
                }
            }
        </script>
        <style>
            #box1{
                height: 200px;
                width: 200px;
                background-color: antiquewhite;
            }
            #span1{
                background-color: aqua;
            }
        </style>
    </head>
    <body>
        <div id="box1">
            div区域
            <span id="span1">span区域</span>
        </div>
    </body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值