以下示例結構:
function b(){
$('#a').on('blur', function(){
console.log('blur');
});
}
function c(){
$('#a').trigger('blur');
//pseudo: e.g. reading value from #a
}
b();
c();
我現在的問題是,將呼叫觸發同步執行回調,然後跳回功能「C」疊加麼?或者是否可能在棧c中的「觸發器」之後的某些代碼可以在回調(異步操作)之前執行?
我不完全確定你在問什麼,但所有的事件處理程序都是從它們被觸發的地方同步的,你可以在這裏看到:http://jsfiddle.net/5qczrvc5/。你的例子中沒有任何回調是異步的。 –
可能的重複:http://stackoverflow.com/questions/2035645/when-is-javascript-synchronous –
好吧,所以在我調用觸發器函數後,所有處理程序都會同步調用,並'阻止'c函數的其餘指令堆棧直到所有處理程序返回? – rgruenke