以下示例结构:
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