If/else 事件侦听器初学者 JavaScript

If/else with Event Listeners beginner JavaScript

我读到 attach.event 仅用于早期版本的 IE。我想知道为什么在这里使用它,它似乎对应于执行 setUpPage() 函数的 populateFigures() 部分,这是正确的吗?非常感谢任何帮助!

function setUpPage() {
createEventListeners();
populateFigures();

}//end of setUpPage Function


/* run setUpPage() function when page finishes loading */

if (window.addEventListener) {
      window.addEventListener("load", setUpPage, false); 
} else if (window.attachEvent)  {
      window.attachEvent("onload", setUpPage);
}//end of else if

是的,这是正确的。

这只是为了确保 onload 应该在 IE(6 到 10)中工作,因为在这些版本的 IE 中对 addEventListener 的支持有限。

attachEvent is a proprietary Microsoft Internet Explorer alternative to the standard EventTarget.addEventListener() method.

因此您的代码正在检查 属性 addEventListener 是否存在于 window 对象中,然后使用 addEventListener 添加一个事件,否则如果 属性 attachEvent 存在于 window 对象上(主要在 IE 上),然后使用 addEventListener.

添加事件

在此处阅读有关 attachEvent 的更多信息。