首页 > 代码库 > 浏览器加载模式:window.onload和$(document).ready()的区别(详解)

浏览器加载模式:window.onload和$(document).ready()的区别(详解)

 jQuery库文件是在body元素之前加载的,必须等待所有的DOM元素加载后,延迟支持DOM操作,否则就无法获取到。

在延迟等待加载,JavaScript提供了一个事件为load,方法如下:

window.onload = function () {}; //JavaScript等待加载

$(document).ready(function () {}); //jQuery等待加载load和ready区别

 

 

window.onload

$(document).ready()

执行时机

 

必须等待网页全部加载完毕(包括

图片等),然后再执行JS代码

只需要等待网页中的DOM结构

加载完毕,就能执行JS代码

执行次数

 

只能执行一次,如果第二次,那么

第一次的执行会被覆盖

 

可以执行多次,第N次都不会被上

一次覆盖

 

简写方案

$(function () {})

 

在实际应用中,window.onload很少直接去使用,因为他需要等待图片之类的大型元素加载完毕后才能执行JS代码。遇到网速慢或者存在大的图片要下载时,页面已经全面展开,图片还在缓慢加载,这时页面上任何的JS交互功能全部处在假死状态。并且只能执行单次在多次开发和团队开发中会带来困难。