2012-12-26 5 views
0

개념을 정리하는 데 문제가 있습니다. 다음 코드 스 니펫이 있다고 가정 해 보겠습니다.자바 스크립트 메소드 실행 및 이벤트 트리거

$('a.classA').on('click', function(){ 
    // something do here 
}); 

$('a.classB').on('click', function(){ 
    // something do here 
    $('a.classA').trigger('click'); 
    // rest of the code 
}); 

자바 스크립트는 순차적으로 실행됩니다. 따라서 click 이벤트가 실행 중일 때 click 이벤트의 프로그래밍 방식 트리거링은 현재 메소드 실행을 일시 중지하고 a.classA 이벤트가 완료되면 나머지 코드가 실행됩니까? 또는 메소드가 다른 스레드 또는 다른 것으로 실행됩니다. 자바 스크립트에서는 스레딩을 사용할 수 없습니다.

+1

[더 좋은 테스트 방법]이 있어야합니다 (http://jsfiddle.net/MyzzK/)? –

+0

IE에서 무언가를 시도하고 명세서 에서처럼 믿는 것 – Alexander

답변

2

를, 그래서 함수 호출을 같이 효율적입니다. 현재 이벤트 루프가 완료된 후 작업을 수행하려면 0 밀리 초 지연 시간 제한을 사용할 수 있습니다.

2

당신은 asyncronous 트리거 할 setTimeout을 사용할 수 있습니다 : A는 "클릭"동기 작업입니다 트리거링

$('a.classB').on('click', function(){ 
    // something do here 
    setTimeout(function(){ 
    $('a.classA').trigger('click'); 
    },1); 
    // rest of the code  
}); 
관련 문제