0

$().readyDOMがロードされた後にコールバック関数を作成するのではなく、jQueryを使用してDOMの準備ができているかどうかを確認するための正しい構文はありましたか?

たとえば、DOMの準備ができている場合は、別のコードを実行したいと思います。

function checkDOMReady() 
{
    if ($(document).ready)
        alert("The DOM was ready when this function was called");
    else
        alert("The DOM was NOT ready when this function was called");
}

これは有効ですか?そうでない場合、これを行う正しい方法はありますか?

編集:私はよく知って$(document).ready(function(){});いるなどですが、これは私が探しているものではありません。ページが最初に読み込まれるときを含め、10分ごとに実行されるスクリプトがあり、ドキュメントの準備ができている場合は別のコードを実行し、準備ができていない場合は他のコードを実行したいと思います。このデータをグローバル/静的変数に格納することはできますが、ブール式を簡単に評価してDOMを操作できるかどうかを確認できるかどうかを知りたいと思います。

4

3 に答える 3

3

なぜあなたがこれをしたいのか分かりません。いずれの場合も、ドキュメントレディコールバックで設定された変数を使用して、変数を確認できます。

于 2012-05-02T11:21:06.843 に答える
3

jQueryを使用すると、次のものを使用できます。

    var isready = false;

    $(function() {
     isready = true;
    });

詳しくはこちらをご覧ください

于 2012-05-02T11:23:57.123 に答える
1

@Luceroは正しいですが、コンテンツの準備ができていることを示すフラグが必要な場合があります(おそらく、別のフレームワークと同期するためです...)。この場合、ウィンドウスコープの変数を作成してシグナルを送信し、その値を$(document).ready次のように設定できます。

// declare your "global" flag as false
window.flagDomLoaded = false;

// set the global to true to signal that the contents are ready
$(document).ready(function(){ window.flagDomLoaded = true; });

// check the global flag on your code
function checkDOMReady() 
{
    if (window.flagDomLoaded)
        alert("The DOM was ready when this function was called");
    else
        alert("The DOM was <b>NOT</b> ready when this function was called");
}

@Luceroや@Sandeepソリューションなど、より標準的なアプローチを使用することをお勧めします。このソリューションは、そのように実行できない場合にのみ受け入れられます。

于 2012-05-02T11:37:32.940 に答える