拥有这个JS代码:
document.getElementById('e1').addEventListener('click', function(){alert('1');}, false);
document.getElementById('e2').addEventListener('click', function(){alert('2');}, false);
document.getElementById('e1').click();
document.getElementById('e2').click();
我想知道警报会以什么顺序显示 - 它是按照click()
触发事件的顺序还是随机的?
我询问记录/标准化的行为,而不是当前实施的浏览器。
答案 0 :(得分:2)
警报将按顺序执行 - 1
然后2
。这是因为click
事件是同步的(请参阅here) - 当发出.click()
时,处理程序将立即运行(查看最后一段here)。所以这段代码:
document.getElementById('e1').addEventListener('click', function(){alert('1');}, false);
document.getElementById('e2').addEventListener('click', function(){alert('2');}, false);
document.getElementById('e1').click();
document.getElementById('e2').click();
alert('3');
将产生与
相同的结果alert('1');
alert('2');
alert('3');
答案 1 :(得分:-1)
我将是1然后是2。 http://jsfiddle.net/kkYfX/