5

jQuery Ready イベント ロジック:

// Catch cases where $(document).ready() is called after the
// browser event has already occurred.
if ( document.readyState === "complete" ) {
    // Handle it asynchronously to allow scripts the opportunity to delay ready
    return setTimeout( jQuery.ready, 1 );
}

「スクリプトが準備を遅らせる機会を与えるために非同期で処理する」というコメントについて説明していただけますか。

どのスクリプトがわかりません。また、なぜready を遅らせる必要があるのですか?

4

2 に答える 2

6

準備完了のコールバック ( を起動するreadyList) がすぐに起動する場合、関数で DOM の準備ができたら、その実行を保持できませんholdReady

jQuery.holdReady( hold )
説明: jQuery の ready イベントの実行を保留または解放します。

$.holdReady()メソッドを使用すると、呼び出し元は jQuery の Ready イベントを遅らせることができます。

この高度な機能は通常、DOM の準備ができている場合でも、ready イベントの発生を許可する前に、jQuery プラグインなどの追加の JavaScript をロードする動的スクリプト ローダーによって使用されます。

このメソッドは、jQuery スクリプト タグの直後など、ドキュメントの早い段階で呼び出す必要があります。ready イベントが既に発生した後にこのメソッドを呼び出しても、効果はありません。

于 2012-11-21T22:31:34.947 に答える
0

これは$.holdReady()、準備完了イベントを遅らせることができる と関係があります。使用例として、他のすべてのスクリプトを実行する前に初期化を行いたい場合があります。初期化が完了するまで準備を遅らせることができます。

于 2012-11-21T22:33:55.247 に答える