JS事件覆盖问题和触发问题

Posted Blog of Eric Wu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS事件覆盖问题和触发问题相关的知识,希望对你有一定的参考价值。

昨天遇到一个面试题,主要就是事件覆盖问题和触发问题

 (不是打广告,无视文本内容)

总之这样的话,会输出三次“做自己的网站”。

为什么不是两次,而是输出三次呢?

1.首先onclick=function...是DOM0级事件处理程序,而addEventListener是DOM2级事件处理程序,这两种属于不同类,不会相互覆盖。

2.此外事件监听的第三个参数是设置事件处理程序的调用阶段,true是捕获阶段,false是冒泡阶段,默认为false。如果处在不同阶段的话就不会相互覆盖。

综上两点,所以会输出三次。

 

以上是关于JS事件覆盖问题和触发问题的主要内容,如果未能解决你的问题,请参考以下文章

JS事件之自建函数bind()与兼容性问题解决

话话js中的事件监听

JS事件冒泡和事件捕获

JS的事件冒泡和事件捕获

js事件监听器用法实例详解

js中blur和click事件的冲突