Query中$(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)。
|