$(function(){}) ,$(document).ready(function(){}),window.onload = function(){...},$(window).load(function(){...})区别
1. 写法:
$(function(){}) ,$(document).ready(function(){})是一样的
2. 时间:
window.onload和$(window).load(function(){...}) 必须等到页面内包括图片的所有元素加载完毕后才能执行。
$(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕。
3. 个数:
window.onload不能同时编写多个,如果有多个window.onload方法,只会执行最后一个
$(document).ready()可以同时编写多个,并且都可以得到执行
$(window).load(function(){...})可以同时编写多个,并且都可以得到执行
4. 时机:
有些时候,必须要等所有的 元素都加载完毕,才可以执行一些方法的时候,比如说,部分图片或者什么其他方面还没有加载好,这个时候,点击某些按钮,会导致出现意外的情况,这个时候,就使用load。
其他推荐 $(function(){})
5. 特殊(未验证):
IE只有在页面不是嵌入iframe中的情况下才先执行$(document).ready()的内容,再执行原来的onload方法。对于嵌入iframe中的页面,是在原来的onload绑定的方法执行之后才轮到$(document).ready() 。
6. 扩展:
DOM文档加载的步骤:
(1) 解析HTML结构。
(2) 加载外部脚本和样式表文件。
(3) 解析并执行脚本代码。
(4) 构造HTML DOM模型。//ready
(5) 加载图片等外部文件。
(6) 页面加载完毕。//load
(2) 加载外部脚本和样式表文件。
(3) 解析并执行脚本代码。
(4) 构造HTML DOM模型。//ready
(5) 加载图片等外部文件。
(6) 页面加载完毕。//load