jquery $(document).ready() 与window.onload的区别

在页面加载完毕后,浏览器会通过 Javascript 为 DOM 元素添加事件。在常规的 Javascript 代码中,通常使用 window.onload 方法,而在 Jquery 中,使用的是 $(document).ready() 方法。$(document).ready() 方法是事件模块中最重要一个函数,可以极大的提高 Web 应用程序的速度。

window.onload与$(document).ready() 存在如下区别:

 window.onload$(document).ready(function(){...})$(window).load(function(){...})
执行时间必须等到页面内包括图片的所有元素加载完毕后才能执行DOM结构绘制完毕后就执行,不必等到加载完毕在页面所有元素(包括html标签以及引用到得所有图片,Flash等媒体)加载完毕后执行
编写个数

不能同时编写多个,如果有多个window.onload方法,只会执行一个。

window.onload = function(){
  alert(“text1”);
};
window.onload = function(){
  alert(“text2”);
};

可以同时编写多个,并且都可以得到执行

以下两个方法都能执行:
$(document).ready(function(){ alert(“Hello World”); });
$(document).ready(function(){ alert(“Hello again”); });

可以同时编写多个,并且都可以得到执行

以下两个方法都能执行:

 $(window).load(function() {

alert("hello,我是jQuery!");

  });

 $(window).load(function() {

alert("hello,我也是jQuery");

 });

简写$(function(){}); 
   等价于Window.onload = function (){
     // 编写代码
}

在所有DOM元素加载之前执行的jQuery代码:

<script type="text/javascript">

(function() {

            alert("DOM还没加载哦!");

        })(jQuery)

  </script>

参考:http://www.jb51.net/article/21628.htm

相关推荐