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

posted @ 2017-05-03 23:07  前端学堂  阅读(2392)  评论(0编辑  收藏  举报