DOM事件
addEventListener()
捕获和冒泡
DOM事件(默认冒泡)
在 W3C 2 级 DOM 事件(DOM Level 2)中规范了事件模型。
面试题-事件如何触发函数
事件通常与函数结合使用,下面哪种写法可以正确调用函数(方法)
addEventListener()方法
http://www.runoob.com/jsref/met-element-addeventlistener.html
如果一个对象绑定了多个click事件,那么就得用addEventListener()
方法
语法:ele.addEventListener(‘click’, myFn, 在捕获or冒泡阶段执行),默认参数空或者false表示冒泡执行
监听的事件绑定一个队列,队列里按顺序排列着函数(方法)
绑定多个事件
|
|
addEventListener()里面是个队列,只有当事件发生时才会执行里面的函数**
|
|
jquery的.one()方法原理
|
|
冒泡 vs 捕获
http://www.runoob.com/js/js-htmldom-eventlistener.html
先捕获,后冒泡,默认队列里的函数全部放在冒泡阶段执行
冒泡:点击最内层元素后,最内层元素的事件先触发,接着触发中层元素的事件,最后触发最外层的事件。
捕获:点击最内层元素后,最外层元素的事件先触发,接着触发中层元素的事件,最后触发内层的事件。
默认冒泡阶段执行队列里的函数
当设置a的捕获为true时,a队列在a的捕获阶段执行
于是先执行a队列里的函数,然后执行c,最后执行b
面试题-捕获冒泡顺序
原则上,先捕获,后冒泡,函数(方法)队列在冒泡阶段执行
但是
取消冒泡
http://caibaojian.com/javascript-stoppropagation-preventdefault.html
阻止默认行为