zoukankan      html  css  js  c++  java
  • JavaScript中页面加载完成后执行

    在js和jquery使用中,经常使用到页面加载完成后执行某一方法。通过整理,大概是五种方式(其中有的只是书写方式不一样)。

    1:使用jQuery的$(function){};

    2:使用jquery的$(document).ready(function(){});

    前两者本质上没有区别,第1种是第2种的简写方式。两个是document加载完成后就执行方法。

    3:使用jQuery的$(window).load(function(){});

    4:使用window.onload = function(){} 第3种和第4种都是等到整个window加载完成执行方法体。两者也没有区别,只是一个使用dom对象,一个使用jQuery对象。

    5:在标签上静态绑定onload事件,<body onload="init()">等待body加载完成,就会执行init()方法。

    那么,这五种方式,执行的先后顺序是怎么样的呢?

    通过下方代码验证发现:

            使用1:jQuery的$(function){}和2:jquery的$(document).ready(function(){});无论位置放置在哪里,总是优先其余三种方式(原因是:这两种方式是在document加载完成后就执行,后三种是等到整个window页面加载完成后才执行),这两者之间的执行顺序是谁在上方谁优先执行。

            使用3:jQuery的$(window).load(function(){});和4:window.onload = function bbb(){}这两种方式,总是优先于<body onload="aaa()">执行。他们两者执行顺序也是根据谁在上方谁先执行。

           使用5:<body onload="init()">总是最后执行。

    <html>
        <head>
            <script src="jquery-2.2.3.min.js"></script>
            <script type='text/javascript'>
                
                window.onload = function(){
                    alert("页面加载完成====》onload");
                }
                
                $(window).load(function(){
                    alert("jquery===》window load" );
                })
                
                $(document).ready(function () {
                    alert("jquery====》document ready");
                });
                
                $(function(){
                    alert("jquery====》document onload");
                });
                
                function init(){
                    alert("onload初始化");
                }
    
           function btnclick(){
                    alert("点击事件");
                }
    
            </script>
        </head>
        <body onload="init()">
             <input id="Button1" type="button" value="button" onclick="btnclick()" />
        </body>
    </html>
    本博客有部分内容来自网络,如有问题请联系:hebeilijianghua@qq.com,并注明来自博客园。
  • 相关阅读:
    mysql索引失效的N种情况
    JDK,JRE,JVM的区别
    mysql排名函数解析
    mysql经典50道基础练习题(附加答案)
    常用SQL
    Application.DoEvents()
    【转】mapreduce中的全局文件使用方法:以k-means为例
    【转】MapReduce中的Combiner 和 in-Mapper Combining
    Linux 下安装hadoop,伪分布模式配置
    VS2010中配置 CUDA5.5
  • 原文地址:https://www.cnblogs.com/leebokeyuan/p/9213677.html
Copyright © 2011-2022 走看看