1

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

それらは順番に実行されます。Javascript コードは並行して実行されません。

于 2010-07-20T22:42:49.127 に答える
3

それらは順番に実行されます。この動作を確認するには、firebug にブレークポイントを設定します。

于 2010-07-20T22:32:18.300 に答える