2010-03-17 9 views
3

jQuery를 사용하고 있습니다. 나는 모든 함수 정의를 application.js의 $ (document) .ready 이벤트에 래핑했다. 내가 작업하고있는 페이지의 본문에서 어딘가에 전화하고 싶은 기능이 있습니다.스크립트로드시 javascript 함수를 실행하십시오.

스크립트로드에서 작동하는 .ready 이벤트 대신 사용할 수있는 대안이 있는지 궁금합니다. 이상적으로 나는 다음과 같은 것을하고 싶다 : $ ('application.js'). ready (call function);

jQuery 설명서에는 $ (document) .ready 호출 만 언급되어 있지만 변경 될 수 있는지 또는 몇 가지 일반적인 자바 스크립트 대안이 있는지 궁금합니다.

+2

왜 $ (document) .ready가 여러분에게 적합하지 않은가요? –

+0

어쩌면 내가 잘못된 방향으로 갈 것입니다. application.js에서이 함수는 $ (document) .ready로 감싸 진 머리말에 정의되었다. 나는 페이지 바디 내에서 그 함수를 호출하기를 원했기 때문에 사이트에 대해서만 한 페이지 만 발생시키는 아약스 호출이있다. $ (document) .ready에서도 함수 호출을 래핑했습니다. 함수 호출은 함수 앞에로드되고 있습니다. 나는 페이지로드 후에 스크립트로드를 테스트하는 방법을 원합니다. – unflores

답변

1

나는 이것에 대해 궁금해하지만, 본능은 어떤 자바 스크립트를 실행하기 전에 문서로드가 완료 될 때까지 기다리고 싶다고 말할 것입니다.

+0

잘못되었습니다. DOM 요소가 모두로드되고 문서를 안전하게 조작 할 수 있으므로 문서가로드 될 때까지 기다리는 것이 좋습니다. element가 정의되고 tree에 추가 된 후에 스크립트를로드하면 (스크립트 전에 닫는 태그가 있음)이 요소를 안전하게 조작 할 수 있습니다. – MBO

5

나는 당신이 $.getScript을 찾고 있다고 생각합니다. 이 jQuery 함수는 GET HTTP 요청을 사용하여 서버에서 JavaScript 파일을로드하고 실행합니다. 스크립트 자체가 실행 된 후에 실행될 콜백 함수를 지정할 수 있습니다.

$.getScript('foo.js', function() { 
alert('foo.js was loaded, do something cool now'); 
}); 
관련 문제