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>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM