事件捕获和冒泡机制

86 阅读1分钟

1.基本概念

  • 捕获:自顶向下
  • 冒泡:自底向下

2. window.addEventListener 监听的是什么阶段的事件

window.addEventListener('click', ()=>{

},false)
// 默认是false 表示监听的是冒泡阶段
// true表示捕获阶段

3. 平常有哪些场景用到这些机制

  1. 事件委托
  • 场景设计:一个历史页面,上面有若干按钮的点击逻辑,每个按钮都有自己的click事件
  • 新需求:给每一个访问的用户添加了一个属性,banned = true,此用户点击页面上的任何按钮或者元素,都不可响应原来的函数,而是alert提示,你被封禁了
window.addEventListener('click', (e=>{
    if(banned) {
        e.stopPropagation()
    }
},true)