首頁  >  文章  >  web前端  >  jquery中ready()函數執行的時機與window的load事件比較_jquery

jquery中ready()函數執行的時機與window的load事件比較_jquery

WBOY
WBOY原創
2016-05-16 15:53:351061瀏覽

jquery的ready()實作的是 DOMContentLoaded 事件,DOMContentLoaded與window load事件的差異

簡單的說ready()是在文件載入完成就會觸發,此時圖片等資源可能還沒完全載入, load是在所有資源都載入完成後才會觸發

看下ready函數的程式碼就什麼都清楚了。下面的程式碼加上了註解:

// Handle when the DOM is ready
    ready: function() {
        // Make sure that the DOM is not already loaded
        if ( !jQuery.isReady ) {
            // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).
            if ( !document.body ) {
                return setTimeout( jQuery.ready, 13 );
            }

            // Remember that the DOM is ready
            jQuery.isReady = true;

            // If there are functions bound, to execute
            if ( readyList ) {
                // Execute all of them
                var fn, i = 0;
                while ( (fn = readyList[ i++ ]) ) {
                    fn.call( document, jQuery );
                }

                // Reset the list of functions
                readyList = null;
            }

            // Trigger any bound ready events
            if ( jQuery.fn.triggerHandler ) {
                jQuery( document ).triggerHandler( "ready" );
            }
        }
    },

以上所述就是本文的全部內容了,希望大家能夠喜歡。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn