一次完整的事件触发过程,有三个阶段
(1)捕获阶段
事件捕获的概念,与事件冒泡正好相反。它认为当某个事件发生时,父元素应该更早接收到事件,具体元素则最后接收到事件。
(2)目标阶段
找到真正触发事件的那个元素,也叫事件源
(3)冒泡阶段
事件冒泡即事件开始时,由最具体的元素接收(也就是事件发生所在的节点),然后逐级传播到较为不具体的节点。
在事件里,可以通过事件对象 e.eventPhase 来获取到当前在哪个阶段
addEventListener最后一个参数,为true则代表使用事件捕获模式,false则表示使用事件冒泡模式。