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.ready
和window.onload
不是同一个事件
这个问题比原来链接的问题有更好的答案。
【参考方案1】:
取决于你想做什么。
jQuery ready 将在 html 准备就绪但图像和其他资源完成之前运行您的代码。这是您可以使用 javascript 更改 DOM 的最早时间,因此被广泛使用。 (在现代浏览器中,它被原生事件DOMContentLoaded
取代。
window.onload
(load
事件)在 所有内容 完成加载后运行。图片、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的方法