Javascript 事件冒泡如何处理事件?

Javascript 事件冒泡如何处理事件?,javascript,addeventlistener,event-bubbling,Javascript,Addeventlistener,Event Bubbling,我已定义此事件处理程序: document.addEventListener("load", function(){ alert("Called on page load"); }, false); 我注意到,当布尔标志设置为false(在气泡阶段激发)时,它不会被调用。有人能帮我解释一下为什么会出现这种情况。当一个事件被发送到一个元素时,它会在捕获阶段从文档树下降,直到到达目标。然后,如果这是一个冒泡事件,它会冒泡回来 发件人: 当事件被分派到参与树的对象(例如,元素)时,它也可以到达该

我已定义此事件处理程序:

document.addEventListener("load", function(){
  alert("Called on page load");
}, false);

我注意到,当布尔标志设置为false(在气泡阶段激发)时,它不会被调用。有人能帮我解释一下为什么会出现这种情况。

当一个事件被发送到一个元素时,它会在捕获阶段从文档树下降,直到到达目标。然后,如果这是一个冒泡事件,它会冒泡回来

发件人:

当事件被分派到参与树的对象(例如,元素)时,它也可以到达该对象祖先上的事件侦听器。首先,按照树的顺序调用捕获变量设置为true的所有对象的祖先事件侦听器。其次,调用对象自己的事件侦听器。最后,并且只有当事件的泡泡属性值为true时,才会再次调用对象的祖先事件侦听器,但现在以相反的树顺序调用

load
不是冒泡事件,重要的是,它不是针对
document
。当添加捕获侦听器时,实际上是从文档内容中通常接收事件的部分(如脚本或图像)获取
load
事件。在只有脚本的页面上,根本看不到调用侦听器:


太棒了!终于明白了。谢谢@adyson