你的位置:首页 > Java教程

[Java教程]$(document).ready()即$()方法和window.onload方法的比较


以浏览器装载文档为例,我们都知道在页面完毕后,浏览器会通过JavaScript为DOM元素添加事件。在常规的JavaScript代码中,通常使用window.onload方法,而在jQuery中,使用的是$(document).read()方法。这两个是有区别的。

1.执行时机

 $(document).read()方法和window.onload方法有相似的功能,但在执行时机还是有区别学的。

widow.onload方法是在网页中的所有的元素(包括元素的所有关联文件)完全加载到浏览器后才执行,即JavaScript此时才可以访问网页中的任何元素。而通过jQuery中的$(document).read()方法注册的事件处理程序。在DOM完全就绪 时就可以被调用。此时,网页的所有元素对jQuery而言都是可以访问的,但是 ,这并不意味着这些元素关联的文件都已经下载完毕。

 

2.多次使用

假设网页中有两个函数,JavaScript代码如下:

调用:

结果:

这是你会发现,只弹出字符串“two”对话框

字符串“one”对话框不能被弹出的原因是JavaScript的onload事件一次只能保存对一个函数的引用,它会自动用后面的函数

然而:

这样的话结果:

结论:jQuery的$(document).read()方法能够很好处理 每次调用都会在现有的行为上追加新的行为,这些行为函数会根据注册的顺序依次执行

3.简写方式

$(document).read(function(){

})

简写:

$(function(){

})

也可写为:

$().read(function(){

})