window.document.addEventListener = function(event) {...}
window.addEventListener = function(event) {...}
这两行代码有什么区别?我得到那个窗口,文档对象是两个具有不同属性的不同对象,this site为差异提供了良好的视觉指导。我仍然没有看到这两行代码之间的区别。
进一步澄清:做这样的事情有什么不同:
window.addEventListener('mousemove', function (event) {...});
并做这样的事情window.document.addEventListener('mousemove', function (event) {...});
?
答案 0 :(得分:2)
大多数DOM对象以及addEventListener
本身都有window
种方法。事件在事件开始的元素及其祖先上冒泡并触发事件侦听器。
这两段代码在不同级别上覆盖 addEventListener
。
如果您要调用原始方法,则很少(如果有的话)使您调用它们中的哪些对象产生任何差异。如果你要进行比较会有所不同,例如:
window.addEventListener('click', handler);
document.querySelector('button', handler);
因为一个人会捕获文档中的所有点击,另一个人只会捕获第一个按钮元素上的那些点击。