$(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 可以注册多个。