js事件的三个阶段

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js事件的三个阶段相关的知识,希望对你有一定的参考价值。

js事件的三个阶段分别为:捕获、目标、冒泡

1.捕获:事件由页面元素接收,逐级向下,到具体的元素

2.目标:具体的元素本身

3.冒泡:跟捕获相反,具体元素本身,逐级向上,到页面元素

IE5.5:div---body---document

IE6.0:   div---body---html---document

Mozilla:div---body---html---document---window

 

事件捕获:当使用事件捕获时,父级元素先触发,子元素后触发

事件冒泡:当使用事件冒泡时,子级元素先触发,父元素后触发

 W3C :   任何事件发生时,先从顶层开始进行事件捕获,直到事件触发到达事件源,再从事件源向上进行事件捕获

 

标准浏览器:addEventListener("click","doSomething","true")方法,若第三参数为true则采用事件捕获,若为false,则采用事件冒泡

 

IE浏览器只支持事件冒泡,不支持事件捕获,所以它不支持addEventListener("click","doSomething","true")方法,所以ie浏览器使用ele.attachEvent("onclick",doSomething)

 

事件传播的阻止方法:

再W3C中,使用stopPropagation()方法

在IE下使用cancelBubble = true方法

阻止默认行为:

再W3c中,使用preventDefault()方法

再IE下return false

以上是关于js事件的三个阶段的主要内容,如果未能解决你的问题,请参考以下文章

Js事件传播流程

js事件的三个阶段

js事件流

JS:事件委托

JS事件流

js事件事件委托