为什么window.addEventListener存在?

时间:2011-10-23 22:26:54

标签: events window w3c

DOM4说EventTargetaddEventListener方法,Node继承自EventTarget

现在Document继承自Node,因此document.addEventListener有效。

Window不是Node。为什么window方法允许您附加事件监听器?

当然WindowEventTarget.addEventListener

一无所知

旁白:我为什么关心?在撰写DOM-shim时,我试图模仿window.addEventListener会被粉碎,因为IE8中不存在window.fireEvent。我很高兴不必支持window.addEventListener

进一步:如果window.addEventListener是非标准的,我们应该尝试摆脱它并将其替换为document.addEventListener吗?我们应该向浏览器供应商提交错误吗?

1 个答案:

答案 0 :(得分:2)

根据HTML5,Window不是Node,但它是一个EventTarget。见http://dev.w3.org/html5/spec/browsers.html#the-window-object