zoukankan      html  css  js  c++  java
  • 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>

  • 相关阅读:
    所谓guard进程不能启动
    文件拒绝访问
    (转)Android 自定义 spinner (背景、字体颜色)
    (转)安装Android SDK时遇到Failed to rename directory
    (转)Download interrupted: Connection to https://dl-ssl.google.com refused
    安卓中Activity的onStart()和onResume()的区别是什么
    Could not find class 'org.ksoap2.serialization.SoapObject
    Android三种左右滑动效果 手势识别(转)
    The method of type must override a superclass method解决方式(转)
    MySQL插入中文时出现ERROR 1406 (22001): Data too long for column 'name' at row 1 (转)
  • 原文地址:https://www.cnblogs.com/supereast/p/10840504.html
Copyright © 2011-2022 走看看