2012-05-02 2 views
0

jQueryの$().readyを使用して、DOMがロードされた後にコールバック関数を作成するのではなく、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を操作できるかどうかを確認するブール式を単純に評価できるかどうかを知りたいと思います。

+1

'$(document).ready(function(){//何でも呼び出してください});これはdocument.readyであなたを並べ替えます。もし私が確実にここに行けばhttp://api.jquery.com /かなり甘いサイト、いい男がいます! –

+0

Derは明示的に彼がコールバック関数を使用したくないと言っています... – Lucero

+0

ああ私はよく知っていますが、ドキュメントがロードされる前と同じ10分ごとに同じスクリプトを実行しています。両者を区別することができます。 – azz

答えて

3

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

あなたが使用できるjQueryを使って
+0

グローバル変数を使用するか、パラメータとして渡すことができますが、ドキュメントがロードされる前と10分ごとにスクリプトを実行しているので、これが可能かどうかを知りたいと思います。 2つを区別するために。 – azz

+0

これは正確に私が求めていたものではありませんが、これは_a_ solutionであるとマークしました。 – azz

3

var isready = false; 

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

here

+0

もう一度、準備ができたらコードが実行されるのを待ってはいけません。それに応じてアクションを実行する準備ができているかどうかを確認したいと思います。 – azz

+0

変更を加え、変数を使用すると、isreadyがtrueであればドキュメントを簡単にチェックインし、必要なものを実行できます。 –

+0

ええ、それは私がやったことです。 – azz

1

@Luceroは正しいですが、コンテンツの準備ができていることを示すフラグを必要とするとき、いくつかの例があるでそれについての詳細を読みます(多分別のフレームワークと同期する...)。

// 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のように、あなたはより多くの標準的なアプローチを使用することをお勧めしますのでご注意ください:このような場合は、ウィンドウが合図する変数をスコープと$(document).readyにその値を設定作成することができますソリューション。あなたがそうすることができないならば、この解決策は受け入れられます。

+0

"window.'のインスタンスを削除した場合、私は自分のコードをどのように保持しているのでしょうか。 jQueryがそのようなメソッドをサポートしていたかどうかは不思議でした。 – azz

関連する問題