事件冒泡和事件捕获

事件冒泡和事件捕获

1.addEventListener的第三个参数决定了是事件捕获还是事件冒泡

true:表示注册的事件在捕获阶段触发

false:表示注册的事件在冒泡阶段触发-----默认值

2.事件冒泡:

当一个元素的事件触发了,同样的事件会在该元素的所有祖辈元素中一次触发,事件冒泡(从里往外).

3.事件捕获:

同事件冒泡相反,从外往里

误解:元素并不是只有注册了事件,才会有事件冒泡和事件捕获

4.事件流

三个阶段; 1.事件捕获 2.事件目标[事件源] 3.事件冒泡 

注意点: 一个元素的事件,不会再两个阶段都触发

再实际使用中,有时候我们会需要阻止事件冒泡,可以使用e.stopPropagation();

附阻止浏览器默认行为的方法:

函数内return false ; e.preventDefault();----e是事件对象event

原文地址:https://www.cnblogs.com/z-lin/p/10992282.html