2012-05-02 4 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

왜 이렇게하고 싶은지 모르겠다. 어쨌든, 당신은 문서 준비 콜백에서 설정되고 변수를 검사 할 수있는 변수를 가질 수 있습니다.

+0

전역 변수를 사용하거나 매개 변수로 전달할 수는 있지만 문서를로드하기 전에 스크립트를 실행하고 매 10 분마다 스크립트를 실행할 수 있으므로 가능한지 알고 싶습니다. 둘을 구별 할 수 있습니다. – azz

+0

정확히 내가 묻고있는 것은 아니지만 이것을 _a_ solution만큼 정확하게 표시했습니다. – azz

3

jQuery를 함께 사용할 수 :

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

관련 문제