$(document).ready 跟 window.onload 的区别

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

相同点

两者都用于在网页加载完后执行相应代码块。

 

不同点

window.onload 在创建完 DOM 树后,所有外部资源(图片、Flash 动画等)加载完成,且整个页面在浏览器窗口中显示完毕之后,才会执行。只能注册一个。

window.onload = function () {
    alert('window.onload');
};

  

$(document).ready 只需在 HTML 文档解析为 DOM 树后,就会执行。可以注册多个,多个 $(document).ready  的执行顺序并非单纯的顺序执行,其与嵌套层级也有一定的关系。详细请参考这篇文章:https://yq.aliyun.com/ziliao/24713

$(document).ready = (function(){
    alert('$(document).ready'); 
});

// $(document).ready = function () {}; 的简写形式是 $( function () {} ); 

    

总结

ready 指解析至 DOM 就绪,onload 指所有资源加载完毕。ready 优先于 onload 发生,比 onload 缩短了等待时间。且 onload 只能注册一个,ready 可以注册多个。