2010-01-05 5 views
3

jQuery에서 document.ready()가 호출되기 전에 함수를 삽입하거나 호출 할 수 있어야합니다. 다른 파일에서 document.ready 함수를 호출하고 있는데, 이론적으로 document.ready가 호출되는 시점을 제어 할 수 있습니다.jQuery의 document.ready 전에 함수 호출/삽입

소스 파일 (의 .js) :

$(document).ready(function() { 
    // some code... 
}); 
기술적으로는, 그러나, 최대한 빨리이 document.ready (와 파일을 호출로), 그것은 즉시로드, 내가 뭔가를 찾는 기회가 없었다

내 기능을 삽입하고 호출하기위한 사전 조건과 비슷합니다.

테스트 파일 (또한은 .js는) :

난은 .js 단위 테스트 파일에서 document.ready 함수를 호출하고있어 이후
// this is a unit testing file, JsTestDriver style 
TestFunction.prototype.testFunction = function() { 
    // calls my function 
    // then calls the document.ready function below 
    $.readyList[1](); 
} 

, "스크립트"태그 나를 위해 작동하지 않습니다. DOM (또는 document.ready)이 호출되기 전에 내 함수를 호출 할 수 있어야합니다. 누구든지이 답변을 알고 있습니까?

감사합니다.

+0

페이지를로드하고 다른 페이지로 리디렉션 할 수 있습니까? 훌륭한 기술은 아니지만, 당신이하는 일은 매우 근사합니다. ready는 이미 onload 전에 실행하기위한 해킹입니다. – SapphireSun

+0

DOMReady 이벤트 전에 내용을 호출하려면 이벤트 래퍼에 넣거나 나머지 앞에 포함되어있는 사전 조건을 포함하십시오 귀하의 스크립트 중. –

답변

2

document.ready 이전에 document.ready 앞에 실행하려는 코드를 넣으십시오.

+0

나는 성공하기 전에 그것을 시도했다. 테스트 파일에서 TestFunction.prototype.testFunction이 시작되자 마자 document.ready가 이미로드되었습니다 (경고가 표시된 상태). 소스 파일에서는 document.ready 함수를 호출하기 때문에 코드를 사용할 수 없습니다. 코드 앞이나 뒤에는 코드가 없습니다. – BeraCim

0

ready 기능을 덮어 씁니다.

var fn = $.fn; 
var realReady = fn.ready; 
fn.ready = function ready() 
{ 
    console.log("Before ready."); 
    var result = realReady.apply(this, arguments); 
    console.log("After ready."); 
    return result; 
}; 
관련 문제