1
我想弄清楚用戶操作觸發的事件是如何發生的。mousedown事件是否可以在循環中發生?
在下面的例子中,事件是否發生在兩個函數之間,只導致第二個函數執行?
var mouseDown = false;
element.addEventListener('mousedown', function(evt) {
mouseDown = true;
}, false);
function loop() {
doSomething();
// Can mouseDown be set to true here?
doSomethingElse();
mouseDown = false;
requestAnimationFrame(loop);
}
function doSomething() {
if (mouseDown) {
// Do something
}
}
function doSomethingElse() {
if (mouseDown) {
// Do something else
}
}
發生這種情況還是事件推遲到循環回合之間?
Javascript運行在單線程中,所有事件將被添加到隊列中並在當前代碼執行完成後執行。 – scragar 2014-09-03 09:35:26