2009-08-10 2 views
1

처음으로 click 이벤트 또는 다른 이벤트가 document.ready()에서 실행됩니까? 처음 클릭하지 않고 DOM 요소를 주석에로드 한 후 도달하겠습니까? :)document.ready에 대한 JQuery 설명

$(document).ready(
    $(#foo).click( 
    function() 
    { 
     // "It reached here after DOM is loaded!" 
    } 
) 
) 

답변

4

DOM이 완전히로드되면 올바르게 실행됩니다. 그러면 올바른 것입니다.

바운드 요소가 명시 적으로 클릭() 또는 Events/trigger 사용하여 호출하는 클릭 이벤트 또는을 클릭하지 않으면 '클릭'이벤트는, 그러나, 발광하지 않습니다

:

$('#foo').click(); 
$('#foo').trigger("click"); 

당신이 매뉴얼 페이지를 읽고 document.ready에 대한? 참조 :

http://docs.jquery.com/Tutorials:Introducing_$(document).ready()

3

아니, 함수가 실행되지 않습니다.

$ (문서) .ready() 함수를 인수로 취

몇 가지 오류가 있습니다. '#foo'도 문자열이어야합니다.

$(document).ready(function() { 
    $('#foo').click( 
    function() 
    { 
     // "It reached here after DOM is loaded!" 
    } 
) 
}) 

dom이로드 된 후 적어도 한 번 이상 기능을 평가하려는 경우. 그렇다면 아마도 가장 쉬운 방법은 함수의 이름을 짓는 것입니다.

예 :

$(document).ready(function() { 
    $('#foo').click( 
    function myfunction() 
    { 
     // "It reached here after DOM is loaded!" 
    } 
); 
    myfunction(); 
}) 

당신이 $의 범위 ('# foo는')에서 실행하는 기능을해야 할 경우 Function.call으로 그렇게 할 수 있습니다() 메소드.

예 : 그것은이 DOM 이벤트에 의해 트리거 된대로처럼 더 행동 할 것

$(document).ready(function() { 
    $('#foo').click( 
    function myfunction() 
    { 
     // "It reached here after DOM is loaded!" 
    } 
); 
    myfunction.call($('foo')); 
}) 

. JQuery에는 DOM 이벤트 함수를 통해 등록 된 이벤트를 트리거하는 특정 메소드가 있다고 확신한다. 또한 "myfunction"에 전달 된 이벤트 객체를 에뮬레이트하기 때문에이 메서드를 사용할 수도 있습니다.

0

질문을 일반화하기 위해 JavaScript 이벤트는 이벤트 유형 (onclick, onkeyup, onfocuse 등)을 함수 (또는 여러 함수)와 연결하여 처리됩니다. 함수는 물론 구문 분석되지만 연관된 이벤트가 발생할 때까지 평가되지 않습니다. 또한이 문맥에서 "함수"는 이벤트 처리기 또는 이벤트 콜백이라고도합니다.