涨知识:时间冒泡跟事件捕获
1、事件触发三阶段
1、事件捕获阶段:事件从document开始往下查找,直到找到⽬标元素(target)
2、处于⽬标阶段
3、事件冒泡阶段:事件从⽬标元素开始向上传递冒泡,直到document
2、addEventListener
默认情况下事件使⽤冒泡事件,不使⽤捕获事件
addEventListener('click',fn,fal)
fal表⽰事件冒泡;true表⽰事件捕获
3、IE的attachEvent存在的问题
1、不⽀持捕获
2、attachEvent处理程序是在全局作⽤域中运⾏,this指向window(addEventListener中的this指的是绑定的⽬标元素)
3、存在内存泄露
4、绑定事件的执⾏顺序
IE8绑定多个事件按添加的相反顺序执⾏;IE6-7随机执⾏
addEventListener是按照添加事件的顺序执⾏
5、onclick和addEventListener的区别?
1、onclick事件在同⼀时间只能指向唯⼀对象,给同⼀个⽬标对象绑定多个onclick事件只会执⾏最后⼀个,最后⼀个会覆盖前⾯的,但是通过
addEventListener绑定多个点击事件的话会依次执⾏
2、addEventListener可以控制listener的触发阶段(冒泡或者捕获),onclick不⾏
3、取消事件,k=null,addEventListener需要使⽤removeListener来移除,但是如果通过addEventListener绑定的是匿名函数,那
么将⽆法移除
6、阻⽌事件传播和默认⾏为
阻⽌事件传播:在w3c中使⽤pagation();;在IE中设置cancelBubble=true
阻⽌默认⾏为:在w3c中使⽤preventDefault();;在IE中使⽤Value=fal
本文发布于:2022-11-14 05:13:49,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/88/15531.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |