我尝试理解为什么JQuery启动过程同时使用DOMContentLoaded
(文档事件)和load
(窗口事件),
以下是代码:http://code.jquery.com/jquery-2.1.1.js(第3418-3429行)。
我无法理解的另一件事是使用false
作为 addEventListener 第三个参数,我的意思是根据MDN默认已经false
所以为什么他们发送false
?
最后有这个奇怪的评论:
// A fallback to window.onload, that will always work
window.addEventListener("load", func, false);
我在代码中找不到 window.onload 事件,那么为什么他们说 window.addEventListener 是没有时的后备在window.onload
修改
关于我明白的false
第三个论点我现在没有看到MDN中的这句话:
注意:useCapture仅在更新版本的版本中成为可选项 主流浏览器;例如,它在Firefox 6之前不是可选的。 您应该提供此参数以获得最广泛的兼容性。
答案 0 :(得分:1)
我在代码中找不到window.onload事件,那么为什么他们说window.addEventListener是没有window.onload时的回退?
window.addEventListener("load", func, false);
相当于window.onload
。
addEventListener
的错误参数是useCapture
。来自MDN:
如果为true,则useCapture表示用户希望启动捕获。启动捕获后,指定类型的所有事件将被分派到已注册的侦听器,然后再分派到DOM树中它下面的任何EventTarget。向上冒泡树的事件不会触发指定使用捕获的侦听器。有关详细说明,请参阅DOM Level 3 Events。如果未指定,则useCapture默认为false。