2015-01-20 2 views
0

이론적 핵심 JavaScript 질문이 있습니다. 다음 예는 모든 경우에 다음 결과를 제공 할 것입니까? 이론적 JavaScript 이벤트 런타임

var body = $('body') 
 
    .on('test', function() { 
 
    console.log('Test fired'); 
 
    }); 
 

 
body.trigger('test'); 
 
console.log('Done');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+1

예, 비동기가 아닌 한 이벤트는 항상 다음 행으로 이동하기 전에 실행됩니다. – adeneo

+0

예, jQuery가 API를 변경하지 않는 한 –

+0

예, 브라우저가 충돌하지 않는 한. – skobaljic

답변

1

jQuery의 . trigger() 그냥 console. log()처럼 synchonous 작업입니다


Test fired 
Done 

.

JavaScript가 단일 스레드이므로 예제의 실행 순서가 보장됩니다.

+0

'trigger'뿐만 아니라 동기 - 원시 DOM'.dispatchEvent'도 있습니다. – Ginden