windows.onload()与$(document).ready()的区别

Author:Helene

本文章采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 进行许可。转载请注明来自Helene的博客

浏览器加载完DOM后,会通过javascript为DOM元素添加事件,在javascript中,通常使用window.onload()方法。

在jquery中,则使用$(document).ready()方法。



windows.onload()与$(document).ready()的区别

1、执行时机

windows.onload()

在页面所有元素(包括图片,引用文件)加载完后执行。

$(document).ready()

页面中所有HTML DOM,CSS DOM结构加载完之后就会执行,其他图片可能没有加载完.

如果想要网页所有内容(包括图片等)加载完毕,再注册事件,使用$(window).load(function);

等价于window.onload()

2、编写个数

windows.onload()

不能同时写多个,后面的将会覆盖前面的。ex:
window.onload=function(){ alert("A"); }
window.onload=function(){ alert("B"); }
结果会执行“B”
如果想要顺序执行alert("A")和alert("B")需写成
window.onload=function(){
alert("A");
alert("B");
}

$(document).ready()

可以同时写多个

3、简写

windows.onload()

$(document).ready()

$(document).ready(function(){
  //to do;
});
可写成
$().ready(function(){ //$()不带参数默认是document
  //to do;
});或
$(function(){
  //to do;
});