JQuery的ready函数与JS的onload的区别详解

JQuery的ready函数与JS的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() {

});

eg: 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

    <head>

        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

        <title>ready和js中的onload的区别</title>

        <script type="text/javascript" src="jquery-core/jquery-1.8.0.js"></script>

        <script type="text/javascript">

            //js中window对象的onload属性执行jsFunction1函数

            window.onload=jsFunction1;

            //js中window对象的onload属性执行jsFunction2函数

            window.onload=jsFunction2;

            //jquery的ready方法执行jqFunction1函数

        $(document).ready(jqFunction1);

        //jquery的ready方法执行jqFunction2函数

        $(document).ready(jqFunction2);

        //jsFunction1函数

        function jsFunction1(){

                alert("jsFunction1");        

        }

        //jsFunction2函数

        function jsFunction2(){

        alert("jsFunction2");

        }

        //jqFunction1函数

        function jqFunction1(){

           alert("jqFunction1");

        }

        //jqFunction2函数

        function jqFunction2(){

        alert("jqFunction2");

        }

        </script>

    </head>

    <body>

        <h1>ready和js中的onload的区别</h1>

    </body>

</html>

猜你喜欢

转载自www.cnblogs.com/supereast/p/10840504.html