事件的默认传播机制:
- [ ] 捕获阶段:从外向里依次查找元素
- [ ] 目标阶段:当前事件源(e.target:触发哪个元素就存储哪个元素)本身的操作
- [ ] 冒泡阶段:从内向外依次触发相关行为(最常用);
事件在冒泡阶段执行
使用DOM0级事件(element.onclick)绑定给元素的某个行为绑定的方法,都是在行为触发后的冒泡阶段把方法执行的123456inner.onclick=function(e){console.log("center");}outer.onclick=function(e){console.log("center");}
事件在捕获阶段执行
使用DOM2级事件(element.addEventListener)事件到达预定目标之前捕获它1234567891011//addEventListener-->参数1:行为类型; 参数2:绑定方法 ; 参数3:控制哪个阶段发生,true(捕获阶段发生)false(冒泡阶段发生) document.body.addEventListener("click", function(e) { console.log("body"); },false); //冒泡阶段发生 outer.addEventListener("click", function(e) { console.log("outer"); }, true);//捕获阶段发生 inner.addEventListener("click", function(e) { console.log("inner"); }, false); //冒泡阶段发生 // 输出结果 outer-->inner-->body(不管center绑定方法,一旦触发就存在事件的传播机制)
图片6-7