$(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

posted on 2017-03-24 09:54  吴言顺的写字台  阅读(211)  评论(0编辑  收藏  举报

导航