window.onload()和document.addEventListener(' load',..)有什么区别?

时间:2016-07-21 09:17:21

标签: javascript

在我看来,当每个资源及其相关资源都已完成加载时,两个事件都会被触发。这提出了一些问题:

  1. 这些事件之间有什么区别吗?
  2. 首先触发哪个事件?
  3. 在完成所有内容加载后,向主体添加其他HTML元素可以或应该首选哪个事件?

3 个答案:

答案 0 :(得分:3)

  1. 正如你所说,他们都做了完全相同的事情。 addEventListener的优点是可以向load事件添加多个事件侦听器。

  2. 从一些基本的测试来看,似乎听众按照他们设定的顺序被调用,虽然我不知道它有多可靠。

  3. 您可以使用任何一种方法来做您需要的任何事情。

答案 1 :(得分:1)

他们做的事情并不完全相同,至少在Firefox中,尽管我所看到的所有文档都说它们是等价的。

原因是window.onload等同于window.addEventListener(“load”),而不是document.addEventListener(“load”)。

JPL

答案 2 :(得分:0)

1-据我所知,添加一个事件监听会给你更多的自由,特别是在删除你添加的控件时

2-我对此一无所知。但我认为它不应该是一个很大的区别

3- EventListener允许您随意控制元素并删除控件,因此应该更有用