66浅谈:事件冒泡、事件捕获,及阻止办法

本文介绍了事件冒泡和事件捕获的概念,这两种机制用于解决页面中事件的触发顺序问题。通过示例展示了事件从内向外(冒泡)和从外向内(捕获)的触发顺序,并提供了JavaScript代码示例来阻止事件冒泡。在Vue中,也展示了如何使用`.stop`修饰符阻止事件冒泡。

1、事件冒泡和事件捕获分别由微软网景公司提出,这两个概念都是为了解决页面中事件流(事件发生顺序)的问题。

<div id="box1">

  <div id="box2">

    <div id="box3">给它们都绑定点击事件</div>

  </div>

</div>

冒泡型事件的触发顺序如下图:由内而外,由子到父的一个触发顺序

 而 捕获型事件触  的触发顺序如下图: 由外向里触发

 

2.阻止事件冒泡事件捕获

        var box1 = document.getElementById('box1');
        var box2 = document.getElementById('box2');
        var box3 = document.getElementById('box3');

        box1.onclick = function () {
            console.log('box1');

        };
        box2.onclick = function (e) {
            console.log('box2');
            e.stopPropagation();

        };
        box3.onclick = function (e) {
            console.log('box3');
            e.stopPropagation();
        };

 在vue 中还可用这种方式组织事件冒泡或事件捕获

   <div @click="click1()">    
    <span
@click.stop="click2()">按钮1</span>    
    <span>按钮2</span> 
    </div>

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值