addEventListener()第三个参数设置为true和false的区别?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了addEventListener()第三个参数设置为true和false的区别?相关的知识,希望对你有一定的参考价值。

参考技术A 第三个参数决定了事件的传播方式:
为 false 时,采用冒泡模式,为 true 时,采用捕获模式。默认值为false。
这里涉及到的知识点为: JS事件流。
JS事件流分为三个阶段: 捕获阶段,目标阶段,冒泡阶段。
如果你设置了捕获(true)阶段执行事件,那么在目标阶段执行完后就停止了,不会走冒泡。

更多具体的相关知识需要你自己去看书或文档了

onclick和addEventListener的区别

1.onclick事件在同一时间只能指向唯一对象(重复绑定事件只会使最后绑定的事件响应)
2.addEventListener给一个事件注册多个listener(重复绑定事件会依次从上到下响应)

addEventListener第一个参数事件类型,第二个类型即绑定的具体事件,第三个参数默认是false,false是冒泡,true时是捕获;
事件触发的顺序为先捕获再冒泡,捕获时从dom树最上层开始响应,冒泡时从dom树最底层开始响应;
阻止冒泡和捕获用event.stopPropagation(); ,阻止默认事件用event.stopImmediatePropagation();

以上是关于addEventListener()第三个参数设置为true和false的区别?的主要内容,如果未能解决你的问题,请参考以下文章

addEventListener和attachEvent主要有几个区别

addEventListener 的三个参数

js中addEventListener第三个参数涉及到的事件捕获与冒泡

addEventListener和attachEvent以及element.onclick的区别

Js事件传播流程

阻止事件冒泡