1.基本概念
- 捕获:自顶向下
- 冒泡:自底向下
2. window.addEventListener 监听的是什么阶段的事件
window.addEventListener('click', ()=>{
},false)
// 默认是false 表示监听的是冒泡阶段
// true表示捕获阶段
3. 平常有哪些场景用到这些机制
- 事件委托
- 场景设计:一个历史页面,上面有若干按钮的点击逻辑,每个按钮都有自己的
click事件 - 新需求:给每一个访问的用户添加了一个属性,banned = true,此用户点击页面上的任何按钮或者元素,都不可响应原来的函数,而是
alert提示,你被封禁了
window.addEventListener('click', (e=>{
if(banned) {
e.stopPropagation()
}
},true)