首先,我想知道$(document).ready和$(window).load之间的区别,然后我就知道了。
但是,我有一些新问题。准备好的事件是什么,细节是什么。什么是加载事件。
我在HTML规范中找到了load事件的描述。
但是我无法找到就绪事件的描述。
答案 0 :(得分:2)
答案 1 :(得分:1)
在JavaScript窗口中是核心对象之一,并定义了几个有用的事件,例如: onload,在jQuery出现之前,如果想要执行任何代码,一旦完全加载DOM,我们就会使用window.onload
事件
window.onload
存在问题,在加载DOM时并没有完全执行,但是在包含大图像的所有内容完全加载后执行。浏览器通常会延迟执行onload代码,直到所有页面内容都被加载,因为这个用户可以看到他们第一次看到页面和onload内部代码执行之间的显着延迟,如果你的页面内容很重,这种延迟尤其值得注意,闪存视频或其他带有低带宽互联网连接的重量级内容。
jQuery
通过引入就绪事件解决了这个问题,你可能在几个JavaScript文件或HTML页面中看到过如下代码:
$(document).ready(function(){
alert("Inside jQuery ready method");
});
此处$()
是jQuery()
函数的快捷方式,我们将文档对象包装到jQuery对象中以使用ready()
方法。我们将一个匿名函数传递给ready()
方法,该方法将在加载DOM后执行。它不会等到所有DOM内容可用,例如图片。顺便说一句,您可以使用以下快捷方式,而不是使用$(document).ready()
函数,它具有相同的效果:
$(function() {
alert("shortcut for document.ready method in jQuery");
});
除了更快的执行速度之外,jQuery ready方法优于JavaScript窗口onload事件的一个关键优势是,您可以在页面中多次使用它们,这与onload事件不同,后者只能绑定到单个函数。浏览器将确保执行所有document.ready代码以按顺序执行,它们在HTML页面中指定。
希望这对你有用。
由于