什么规范定义了准备好的事件?

时间:2016-04-27 12:52:59

标签: javascript jquery events dom

首先,我想知道$(document).ready和$(window).load之间的区别,然后我就知道了。

但是,我有一些新问题。准备好的事件是什么,细节是什么。什么是加载事件。

我在HTML规范中找到了load事件的描述。

但是我无法找到就绪事件的描述。

2 个答案:

答案 0 :(得分:2)

ready()是jQuery基于DOMContentLoaded实现的抽象。

load()请注意此jQuery方法已弃用)基于window.onload

MDN文章链接到规范。

答案 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页面中指定。

希望这对你有用。

由于