关于e.stopPropagation(),大家应该知道这个方法是用来阻止事件冒泡的。
那么e.stopImmediatePropagation()可能比较少见。
stopImmediatePropagation
用来阻止在同一DOM对象上同一事件类型的其它事件函数的执行
并且与事件先后注册的顺序有关
document.addEventListener("click",e=>{
console.log("click",1);
})
document.addEventListener("click",e=>{
console.log("click",2);
})
正常就应该是这样,如果你用document.onclick那么我应该不用解释吧。
加上e.stopImmediatePropagation();
document.addEventListener("click",e=>{
e.stopImmediatePropagation();
console.log("click",1);
})
document.addEventListener("click",e=>{
console.log("click",2);
})
但阻止的是在其之后注册事件
document.addEventListener("click",e=>{
console.log("click",1);
})
document.addEventListener("click",e=>{
e.stopImmediatePropagation();
console.log("click",2);
})
这里两个事件都触发了。
并且不同类型之间的事件不相影响
标签:console,log,对象,stopImmediatePropagation,事件,addEventListener,document,click From: https://www.cnblogs.com/longmo666/p/18187334