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