我试图理解为什么JQuery初始化过程同时使用DOMContentLoaded(document event)和load(window event),
这是代码: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.onload时,为什么他们说window.addEventListener是次要的
编辑:
关于false的第三个论点,我现在明白了,我没有从MDN中看到这个句子
注意:只有在主流浏览器的最新版本中,useCapture才是可选的;例如,在Firefox 6之前,它不是可选的,您应该提供这个参数来实现最广泛的兼容性。
发布于 2014-05-24 13:34:40
我在代码中找不到window.onload事件,所以当没有window.onload时,为什么他们会说window.addEventListener是一个退路呢?
window.addEventListener("load", func, false);等同于window.onload。
addEventListener的假参数是useCapture。来自MDN:
如果为真,useCapture表示用户希望启动捕获。在启动捕获之后,所有指定类型的事件都将在被分派到DOM树中的任何EventTarget之前被分派到已注册的侦听器。通过树向上冒泡的事件不会触发指定使用捕获的侦听器。有关详细说明,请参阅DOM第3级事件。如果未指定,useCapture默认为false。
https://stackoverflow.com/questions/23845595
复制相似问题