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

原创 heyating555 随笔 js 262阅读 2017-12-06 15:30:45 举报

window.onload和$(document).ready()主要有两点区别:
  1、执行时机
  window.onload方法是在网页中的所有的元素(包括元素的所有关联文件)都完全加载到浏览器之后才执行。而通过jQuery中 的$(document).ready()方法注册的事件处理程序,只要在DOM完全就绪时,就可以调用了,比如一张图片只要<img>标签 完成,不用等这个图片加载完成,就可以设置图片的宽高的属性或样式等。
  ——其实从二者的英文字母可以大概理解上面的话,onload即加载完成,ready即DOM准备就绪。
  2、注册事件 
  $(document).ready()方法可以多次使用而注册不同的事件处理程序,而window.onload一次只能保存对一个函数的引用,多次绑定函数只会覆盖前面的函数。
  例如:
  先看window.onload方法在一个页面保存两次对函数的引用
复制代码
function one(){
alert("one");
}
function two(){
alert("two");
}
window.onload = two ;
window.onload = one ;
复制代码
  运行代码后,弹出“one”,说明第一个函数的引用被第二个函数引用覆盖。

  再看看$(document).ready()方法注册两个事件处理程序  
复制代码
function one(){
alert("one");
}
function two(){
alert("two");
}
$(document).ready(function(){
one();
});
$(document).ready(function(){
two();
});
复制代码
  运行代码,先弹出“one”,再弹出“two”,两个事件处理程序按顺序执行
转载自http://www.cnblogs.com/cuixi/p/3351329.html

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复