一个DOM元素绑定多个事件时,先执行冒泡还是捕获
问题引入: 一个DOM元素绑定两个事件,一个冒泡,一个捕获,则事件会执行多少次,执行顺序如何。 这次不卖关思了,直接给你个答案。不理解你就继续往下看。 绑定在被点击元素的事件是按照代码顺序发生 ,其他元素通过冒泡或者捕获“感知”的事件,按照W3C的标准,先发生捕获事件,后发生冒泡事件。 所有事件的顺序是:其他元素捕获阶段事件 -> 本元素代码顺序事件 -> 其他元素冒泡阶段事件 。 addEventListener参数 element.addEventListener( type , function , useCapture ) //【事件类型】,【事件处理程序】,【可选。布尔值,指定事件是否在捕获或冒泡阶段执行。 true :事件句柄在捕获阶段执行; false :默认。事件句柄在冒泡阶段执行】 1.冒泡 冒泡是从下向上,DOM元素绑定的事件被触发时,此时该元素为目标元素,目标元素执行后,它的的祖元素绑定的事件会向上顺序执行。 如下代码所示,四个嵌套的div: addEventListener函数的第三个参数设置为false说明不为捕获事件,即为冒泡事件。 < div id = 'one' > < div id = 'two' > < div id = 'three' > < div id = 'four' > </ div > </ div > </ div > </ div