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交互功能全部处在假死状态。并且只能执行单次在多次开发和团队开发中会带来困难。