什么是JavaScript事件流及事件处理程序详解

2022-03-20 社会 85阅读
  • 先提两个关键词,方便你查找更详细的分析:1)事件冒泡2)事件捕获

  • 然后借用一下网上的一个图:

如图:有三个圆,好比dom中的三个div,当你点击了绿色圆的同时,会有两个连带事件:

  1. 点击了蓝圆

  2. 点击了粉圆

那么当你这三个圆(div)都绑定了点击事件时,该怎么触发呢,同时触发?显然不是,这是就涉及到一开始给你的两个关键词了。

  • 事件捕获:js会顺着文档流顺序由外往内,依次触发事件。即从DOM树的根到叶子,粉->蓝->绿

  • 事件冒泡:js会逆着文档流顺序由内至外,一次触发事件。即从DOM树的叶子到根,绿->蓝->粉

补充一点:多数时候推荐事件冒泡,因为大多数主流浏览器都兼容两种事件,但一开始ie是不支持事件捕获的,后来ie是否支持最近没有具体了解,应该是可以设置,有需要可以百度一下,本人小菜,以上回答如有错误还请指出,谢谢。

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com