$(document).ready()方法和window.onload方法的区别

JQuery中$(document).ready()方法的作用类似于传统JavaScript中的window.onload方法,都可以在网页加载完成后执行一些操作,不过这两种方法严格意义上来说还是有很大区别的,具体不同点如下:

1.执行时间不同

window.onload必须等到页面内的所有元素()加载完毕后才能执行。

注:所有元素是指包括页面结构、内容及所有关联文件,如站内与站外的js与css文件、图片等。

$(document).ready()是页面DOM结构绘制完毕后就执行,不必等到加载完毕。 

注:DOM结构回执完毕时网页的所有元素对JQuery而言都是可以访问的,但是,这并不意味着这些元素关联的文件都已经下载完毕。

2.执行次数不同

window.onload不能同时执行多个,如果同一个页面上面有多个window.onload方法(包括关联js文件中),只会执行最后一个window.onload,也就是向上覆盖。

$(document).ready()可以同时执行多个,如果同一个页面上有多个$(document).ready()方法(包括关联js文件中),JQuery能够很好地处理这些情况,每次调用$(document).ready()方法都会在现有的行为上追加新的行为,这些行为函数会根据注册的顺序依次执行。

3.简化写法不同

window.onload没有简化写法。

$(document).ready()有两种简化写法:$().ready(function)、$(function)。

未经允许不得转载:吾爱主机之家 » $(document).ready()方法和window.onload方法的区别