发布网友 发布时间:2022-04-07 09:27
共1个回答
热心网友 时间:2022-04-21 23:38
先提两个关键词,方便你查找更详细的分析:1)事件冒泡 2)事件捕获
然后借用一下网上的一个图:
如图:有三个圆,好比dom中的三个div,当你点击了绿色圆的同时,会有两个连带事件:
点击了蓝圆
点击了粉圆
那么当你这三个圆(div)都绑定了点击事件时,该怎么触发呢,同时触发?显然不是,这是就涉及到一开始给你的两个关键词了。
事件捕获:js会顺着文档流顺序由外往内,依次触发事件。即从DOM树的根到叶子,粉->蓝->绿
事件冒泡:js会逆着文档流顺序由内至外,一次触发事件。即从DOM树的叶子到根,绿->蓝->粉
补充一点:多数时候推荐事件冒泡,因为大多数主流浏览器都兼容两种事件,但一开始ie是不支持事件捕获的,后来ie是否支持最近没有具体了解,应该是可以设置,有需要可以百度一下,本人小菜,以上回答如有错误还请指出,谢谢。