我已经window.addEventListener('DOMContentLoaded', function() {});
用 jQuery替换了$(document).bind('ready', function() {});
,因为第一个无法在 IE < 9 上工作,而且我不想玩.attachEvent()
那个虚拟浏览器,如果我可以让 jQuery 本身很好地覆盖它的话。
更换后不久,我注意到DOMContentLoaded
事件总是在页面加载/刷新后大约 0-2 毫秒触发(至少这是我的日志记录脚本记录的内容),而.ready()
在页面刷新后总是需要至少 15-20 毫秒,以被解雇(再次 - 由脚本记录)。
我纯粹是为了满足我的好奇心,为什么会有如此“重大”的延迟?当然,对我来说没有问题,jQuery 稍后会触发该事件。只是,因为我想知道所有答案(并统治世界!:]),我睡不着!:]
编辑:在.ready() 函数文档中,一些用户(尼克(Nexxar))指出:“ jQuery 模拟 IE 上不存在的“DOMContentLoaded”事件,但使用的机制比其他浏览器上使用的事件触发得晚得多“ . 也许这是一样的,我问?