jQuery-jquery中ready()函数执行的时机和window的load事件一样么?

需求定制 需求定制 主题:1050 回复:2283

jQuery-jquery中ready()函数执行的时机和window的load事件一样么?

归属感 发布于 2016-11-04 字数 0 浏览 1239 回复 4

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

支持 Markdown 语法,需要帮助?

评论(4

想挽留 2017-09-28 4 楼

jquery的ready()实现的是 DOMContentLoaded 事件.

浮生未歇 2017-08-17 3 楼

简单的说jquery.ready方法是在页面html下载完毕后触发的,window.onload是在页面被渲染完毕后出发的。

归属感 2017-01-22 2 楼

不一样, ready()是在文档加载完成就会触发,此时图片等资源可能还没有完全加载, load是在所有资源都加载完成后才会触发

甜柠檬 2016-12-05 1 楼

看下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" );
                    }
            }
    },