Jquery .ready() vs window.onload [重复]

Posted

技术标签:

【中文标题】Jquery .ready() vs window.onload [重复]【英文标题】:Jquery .ready() vs window.onload [duplicate] 【发布时间】:2014-03-11 15:50:30 【问题描述】:

与 window.onload 相比,使用 Jquery ready() 函数有什么优势吗?

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

);

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


【问题讨论】:

对于初学者来说很好,使用 jQuery 版本不会覆盖其他将某些内容附加到加载状态的代码。但无论如何,document.readywindow.onload 不是同一个事件 这个问题比原来链接的问题有更好的答案。 【参考方案1】:

取决于你想做什么。

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

另外,window.onload 只能附加一个侦听器,但您可以在 jQuery 就绪的情况下附加任意数量的侦听器。要在 window.onload 上附加多个事件,请使用 addEventListener

window.addEventListener('load', function () 

, false);

【讨论】:

【参考方案2】:

是的,window.onload 允许您只有一个侦听器。 jQuery ready 可以根据需要附加任意数量的侦听器。

【讨论】:

【参考方案3】:

Windows.onload 将等待所有内容加载到页面上,包括图像。 Document.ready 将在 html 加载后立即触发。

【讨论】:

以上是关于Jquery .ready() vs window.onload [重复]的主要内容,如果未能解决你的问题,请参考以下文章

jquery $(document).ready() 与window.onload的区别

jQuery - $(document).ready 和 $(window).load 之间有啥区别?

jQuery中的$(window).load()与$(document).ready()

jquery 的ready() 与window.onload()的区别

$(document).ready和window.onload,细微小区别,ready是jQuery的方法,onload是window的方法

jquery $(document).ready() 与window.onload的区别