【发布时间】:2012-07-16 10:12:19
【问题描述】:
我已经用 jQuery 的 $(document).bind('ready', function() {}); 替换了 window.addEventListener('DOMContentLoaded', function() {});,因为第一个无法在 IE .attachEvent(),如果我可以让 jQuery 很好地覆盖这个自己。
更换后不久,我注意到DOMContentLoaded 事件总是在页面加载/刷新后大约 0-2 毫秒被触发(至少这是我的日志脚本记录的),而.ready() 总是需要至少 15 -20 毫秒,在页面刷新后被触发(再次 - 由脚本记录)。
我纯粹是为了满足我的好奇心,为什么会有如此“显着”的延迟?当然,对我来说没有问题,jQuery 稍后会触发该事件。只是,因为我想知道所有的答案(并统治世界!:]),我睡不着! :]
编辑:在.ready() function doc 一些用户(尼克(Nexxar))指出:“jQuery 模拟 IE 上不存在的“DOMContentLoaded”事件,但使用的机制会触发比其他浏览器上使用的事件要晚得多”。也许这是一样的,我在问?
【问题讨论】:
标签: javascript jquery dom events dom-events