1

如果有 2 或 3 或 20 个使用 jQuery 的语句

$(function() { ... })

添加 DOM 准备就绪时要执行的函数,所有这些函数是并行运行还是按顺序运行?

4

3 回答 3

5

document.ready在这方面表现得像一个正常事件,它们按顺序发生,并且按照它们被绑定的顺序发生。您可以在此处查看相关的 jQuery 核心源代码

当你这样做时会发生这种情况$(function)

ready: function( fn ) {
    jQuery.bindReady();
    if ( jQuery.isReady ) {
        fn.call( document, jQuery );
    } else if ( readyList ) {
        readyList.push( fn );
    }
    return this;
}

这会在稍后发生,当“就绪”事件触发时:

if ( readyList ) {
    var fn, i = 0;
    while ( (fn = readyList[ i++ ]) ) {
        fn.call( document, jQuery );
    }
    readyList = null;
}

如果文档已经准备好,函数会立即执行,这是if上面第一个代码块中的部分。

于 2010-07-20T22:33:19.813 回答
3

它们将按顺序运行。您可以在 firebug 中放置断点以查看此行为

于 2010-07-20T22:32:18.300 回答
3

它们将按顺序运行。Javascript 代码不会并行运行。

于 2010-07-20T22:42:49.127 回答