我希望自己不会出丑,但我正在努力理解这两行代码在发生什么:
document.body.innerHTML = 'something';
alert('something else');
我所观察到的是,警报在HTML被更新之前就已经出现了(或者可能已经更新但页面还没有刷新/重绘/等等)。
请查看此代码片段以了解我的意思。
请注意,即使将alert
放入setTimeout(..., 0)
中也没有帮助。似乎需要更多的事件循环才能实际更新页面的innerHTML
。
编辑:
我忘记说我正在使用Chrome并且没有检查其他浏览器。看起来这只在Chrome中可见。尽管如此,我仍然想知道为什么会发生这种情况。