2012-01-30 5 views
3

document.ready()이 실행되면 JQuery는 $(document).ready()을 바인딩 해제합니다.

jQuery(document).trigger("ready").unbind("ready"); 

나는 내 도우미 함수에 (jQuery.ready() 또는 jQuery(document).trigger("ready")를 호출)를 수동으로 호출 할 수 있도록하여 $(document).ready()를 리 바인드합니다.

별도의 함수를 작성하여 문서 준비 및 도우미에서 호출 할 수 있지만 모든 페이지에서 사용할 수있는 일반 도우미를 작성하고 싶습니다.

어떤 아이디어로 할 수 있습니까?

+3

별도의 함수를 사용하여 소리. 아마도 이것이 실용적이지 않은 이유에 대한 자세한 내용을 제공 할 수 있습니까? –

+0

@Timir, 의미는 다르지만'document'의'ready' 대신'window'에'load'에 바인딩하는 것이 옵션이 될까요? 'load' 이벤트는 원하는대로 나중에 다시 트리거 될 수 있습니다. –

답변

1

좋은 생각처럼 들리지는 않습니다. 제 3 자 플러그인은 준비 이벤트를 두 번 이상 보게되면 잘못 행동 할 수 있습니다. jQuery.holdReady()을 사용하면 jQuery를 계속 진행할 때까지 기다릴 수 있습니다.

1

당신이 .ready() 방법을 여러 번 내부의 논리를 트리거 할 경우, 단순히 자신의 방식으로 논리를 배치 : 옳은 일을 할 것처럼

$(document).ready(function() { 
    myReadyFunction(); // Called when the DOM is ready 
}); 

function myReadyFunction() { // Called when the DOM is ready & whenever you want 
    //Do stuff 
} 
관련 문제