标签:
1. $(document).ready() 代替javascript中的window.onload方法
$(document).ready(){ //jQuery中代替window.onload的方法 }; 简写形式为: $(function(){ //这个大家应该比较熟悉哈 });
$().ready(function(){
//当$()不带参数时,默认参数就是“document”
})
2.$(window).load(function(){})
$(window).load(function(){ //解决$(document).ready() 方法存在的不足 });
$(document).ready() 与window.onload方法在执行方面的区别是window.onload方法是在网页中所有的元素(包括元素的关联文件)完全加载到浏览器后才执行。此时javascript才可以访问网页中的任何元素。
而$(document).ready() 方法,在Dom完全就绪时就可以被调用。此时网页中所有的元素对jQuery而言都是可访问的,但并不一定所有关联元素都已下载完毕。另外,在$(document).ready() 方法内注册的事件,只要在DOM就绪就会被执行,因此可能此时元素的关联文件未下载完成。例如与图片有关的HTML下载完毕,并且已经解析为DOM树了,但很有可能图片为加载完毕,所以例如图片的高度和宽度这样的属性此时不一定有效。 而解决这个问题的方法就是可以利用jQuery中另一个页面加载的方法——load()方法。load()方法会在元素的onload时间中绑定一个处理函数。如果处理函数绑定给window对象,则会在所有内容(包括窗口、框架、对象和图像等)加载完毕后触发,如果处理函数绑定在元素上,则会在元素的欸容加载完毕后出发。
另外,window.onload方法中药加载的函数方法必须放在一个window.onload中,否则最后写的window.onload方法会覆盖前面的方法。但是$(document).ready() 中不存这个问题。
PS:说了这么多可能有人对DOM的加载方式还不是很清楚简单说一下。
DOM文档加载步骤:
1.解析HTML文档
2.加载外部脚本和样式表文件
3.解析并执行脚本代码
4.构造HTML DOM模型 $(document).ready()
5.加载图片等外部文件
6.页面加载完毕 window.onload=funcion(){}
标签:
原文地址:http://www.cnblogs.com/ChristianShuai/p/5083567.html