Jquery .ready()vs window.onload

时间:2014-02-13 00:24:27

标签: javascript jquery onload

在window.onload上使用Jquery ready()函数有什么好处吗?

// Jquery ready
$(document).ready(function() {

});

// window.onload
window.onload = function () {

}

3 个答案:

答案 0 :(得分:38)

取决于你想做什么。

  • jQuery ready将在HTML准备就绪时运行您的代码,但在图像和其他资源完成之前。这是您可以使用JavaScript更改DOM的最早时间,因此它被广泛使用。 (在现代浏览器中,它被原生事件DOMContentLoaded替换。)
  • window.onloadload事件)在所有内容完成加载后运行。图像,Flash和一些脚本,但通常不是样式表。将此用于仅在页面不再更改时才应运行的代码。

此外,对于window.onload,您只能附加一个侦听器,但是您可以使用jQuery准备好随意添加多个侦听器。要在window.onload上附加多个活动,请使用addEventListener

window.addEventListener('load', function () {

}, false);

答案 1 :(得分:2)

是的,window.onload允许您只有一个监听器。 jQuery就像你想要的那样附加了很多听众。

答案 2 :(得分:2)

Windows.onload将等待在包含图像的页面上加载所有内容。文档.ready会在加载html后立即触发。