一个事件在它的生命周期中要经历3个阶段:捕获、处理目标元素和冒泡 捕获: 但事件发生时,浏览器首先要找出是哪个元素触发了这个事件,这个元素又称为时间的目标元素(target)。浏览器会询问body元素
一个事件在它的生命周期中要经历3个阶段:捕获、处理目标元素和冒泡
捕获:
但事件发生时,浏览器首先要找出是哪个元素触发了这个事件,这个元素又称为时间的目标元素(target)。浏览器会询问body元素与目标元素之间的所有元素,挨个检查它们是否定义有事件处理函数。在执行目标元素的事件处理函数之前,浏览器会先执行祖先元素绑定的事件处理函数。
处理目标元素:
这是3个阶段中最简单的一个。当捕获阶段完成,浏览器会触发执行绑定在目标元素该事件上的所有侦听函数。
冒泡:
处理完目标元素完成之后,浏览器开始向着body元素方向上行检查每个祖先元素(冒泡)浏览器会一个个询问这些元素是否绑定非捕获事件,因为不是所有旳事件都支持冒泡。我们可以检查事件的bubbles属性来查看事件是否支持冒泡。如果该属性值为true,则表示该事件支持冒泡,否则就不支持。