window.onload vs. body.onload vs. document.onready 窗口.onload、body.onload和document.onready有什么区别?

74

window.onloaddocument.onreadybody.onload之间有什么区别?


5
这个链接可以帮助你... 祝好运! :) - PHP
11
为什么这被标记为重复?这篇文章甚至没有提到jQuery,而另一篇标题中却有它(ready只适用于jQuery)。 - Ciro Santilli OurBigBook.com
4
同意Ciro的观点。在StackOverflow上,太多人认为JavaScript等同于jQuery。 - Seanonymous
4
完全同意你们的看法。投票决定重新开放这个问题。 - Racil Hilan
可能是因为jQuery包装它对不同事件的含义没有影响。 - Quentin
1个回答

68

window.onload会等待所有资源下载完成,例如图片和脚本。

DOM准备好后,您可以通过API访问DOM。

顺便提一下,在现今这个时代,您应该使用window.addEventListener('load', function() { }, false)attachEvent()(适用于旧版IE)。


1
我认为 jQuery 的 DOM 就绪功能在触发之前也会等待脚本加载,不是吗? - screenm0nkey
但它无法在Chrome、Safari和Opera上工作。这些浏览器有没有window.onload的替代方法? - william
3
@william:window.addEventListener('load', function() { }, false) - alex
@HiroProtagonist document.readyState和DOMContentLoaded是JavaScript本身的功能。 - Christophe
请注意,这种方法无法让您知道 iFrame 的内容何时加载 :) https://dev59.com/LGIj5IYBdhLWcg3wJCF- - Dean Rather
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接