- 事件流:多个具有包含关系的事件源的相同事件之间的执行顺序。事件流的状态:
事件捕获:从外向内依次触发目标阶段:真正要触发的事件事件冒泡:从内向外依次触发 事件冒泡:当触发某个元素的某个事件时,不仅会触发自身的事件,还会依次向上触发所有父元素的相同事件。
是默认的事件流状态微软最先提出,所以IE低版本只支持事件冒泡 阻止事件冒泡
正常:e.stopPropagation();IE低版本:e.cancelBubble = true;
// 阻止冒泡的兼容封装
function stopBubble(e){
if(e.stopPropagation){
e.stopPropagation()
}else{
e.cancelBubble = true;
}
}
鼠标进入和离开
进入:mouseover和mouseenter离开:mouseout和mouseleave区别:会不会触发事件冒泡
- 事件捕获:当需要触发某个元素的事件时,会先从最顶层父元素开始依次向内触发相同事件,直到触发到目标元素的事件的过程IE低版本浏览器没有事件捕获状态,只有事件冒泡。正常了浏览器也需要通过监听式绑定事件才能触发事件捕获。事件监听式绑定事件方法的第三个参数,用来控制事件流的状态是捕获还是冒泡
ele.addEventListener(type, cb, 参数3);
true:捕获false:冒泡



