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

Jquery中$(document).ready()的作用类似于传统JavaScript中的window.onload方法,不过与window.onload方法还是有区别的。

1.执行时间 

         window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行。 

        $(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕。 

2.编写个数不同 
         window.onload不能同时编写多个,如果有多个window.onload方法,只会执行一个 
         $(document).ready()可以同时编写多个,并且都可以得到执行 

3.简化写法 
         window.onload没有简化写法 
         $(document).ready(function(){})可以简写成$(function(){});

在我以前的开发中,一般用到javascript,我都是采用jquery的模式,也就是大多数时候,第一行写的是:

复制代码代码如下:

$(document).ready(function(){
...
});

这个时候,不一定要等所有的js和图片加载完毕,就可以执行一些方法,不过有些时候,必须要等所有的元素都加载完毕,才可以执行一些方法的时候,比如说,部分图片或者什么其他方面还没有加载好,这个时候,点击某些按钮,会导致出现意外的情况,这个时候,就需要用到:

复制代码代码如下:

$(window).load(function() {
$("#btn-upload").click(function(){   //比如说:
 uploadPhotos();
});
});

注意在所有DOM元素加载之前执行的jQuery代码,有时候我们有这个需要。

复制代码代码如下:
<script type="text/javascript">
(function() {
            alert("DOM还没加载哦!");
        })(jQuery)
  </script>


阅读更多
个人分类: javaScript总结
上一篇jQuery的is()函数的用法
下一篇回顾2016展望2017
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭