美文网首页
事件冒泡

事件冒泡

作者: zhulichao | 来源:发表于2020-07-23 09:20 被阅读0次
事件冒泡,从内到外;事件捕获,从外到内;DOM事件流,从外到内再从内到外回到原点。事件冒泡允许多个操作被集中处理,把事件处理器添加到一个父级元素上,避免把事件处理器添加到多个子级元素上,可以优化性能,在页面动态添加新元素后,这些新增的元素也不用再绑定事件,它还可以让你在对象层的不同级别捕获事件。

blur、focus、load、unload不冒泡。使用addEventListener绑定事件的方法第三个参数可以控制事件触发顺序,true为事件捕获,false为事件冒泡,默认为false。使用attatchEvent绑定事件的方法不能控制事件触发顺序。

阻止事件冒泡不能阻止对象默认行为,如submit按钮会提交表单数据。

事件对象:
```
event.keyCode // 返回keydown何keyup事件发生的时候按键的代码
event.target // 发生事件的目标元素
event.currentTarget // 当前处理事件的元素
```

阻止冒泡:
```
event.stopPropagation();
event.stopImmediatePropagation(); // 除了该事件的冒泡行为被阻止之外,该元素绑定的后序相同类型事件的监听函数的执行也将被阻止
window.event.cancelBubble = true; // IE下
```

阻止默认行为:
```
event.preventDefault();
window.event.returnValue = false; // IE下
```

在body上处理事件:
```
window.onload = function() {
  document.body.addEventListener('click', function(e){
    console.log(e.target.id);
  });
};
```

相关文章

  • 微信小程序中bind和catch的区别

    bindtap 冒泡事件,事件绑定不会阻止冒泡事件向上冒泡catchtap 非冒泡事件, 事件绑定阻止冒泡事件...

  • 事件绑定 和 方法传值

    冒泡和非冒泡事件绑定 bindtap: 冒泡事件绑定 catchtap: 非冒泡事件绑定当其他的事件冒泡到当前元素...

  • wepy基础知识

    1、bind事件绑定不会阻止冒泡事件向上冒泡,catch事件绑定可以阻止冒泡事件向上冒泡。https://deve...

  • 微信小程序 WXML事件 WXML冒泡事件列表

    WXML事件分为 冒泡事件 和 非冒泡事件。 冒泡事件:当一个事件被触发后,该事件会向父节点传递。 非冒泡事件:不...

  • 小程序冒泡事件

    冒泡事件列表 解决冒泡事件

  • 什么是事件冒泡/捕获?

    事件冒泡:子元素事件的触发会影响父元素事件开关事件冒泡:A:开启事件冒泡:element.addEventList...

  • 小程序中点击子元素事件而不触发父元素的点击事件

    原理:bind事件绑定不会阻止冒泡事件向上冒泡catch事件绑定可以阻止冒泡事件向上冒泡 当点击子元素的catch...

  • vue中的事件

    单击事件:@click=" " 事件对象:@click="show($event)" 事件冒泡: 阻止冒泡事件:@...

  • JavaScript中的冒泡事件

    事件冒泡机制 事件冒泡发生的条件:当为多个嵌套的元素设置了相同的事件处理程序,它们将触发事件冒泡机制。在事件冒泡中...

  • 阻止事件冒泡

    什么是事件冒泡? 要知道怎么阻止事件冒泡,首先我们来看一下什么是事件冒泡。 事件冒泡即在一个对象上触发某类事件(比...

网友评论

      本文标题:事件冒泡

      本文链接:https://www.haomeiwen.com/subject/zcxjhktx.html