3

当您使用 requirejs 2.1.1 加载 jquery 1.8.2 时$(document).ready() $(window).load()事件开始表现得非常奇怪。

有时只有其中一个会被触发,有时两者都会触发,但在所有情况下,它们都会在加载所有内容、图像等后触发 - .load() event

切换到 jQuery 1.7.2 可以 正常.load()工作,但不会在真正的 DOM 就绪事件上触发。我在这里做错了什么,或者不仅仅是我有这些问题?.ready().load()

示例(打开控制台并刷新):

http://jsbin.com/epujom/5

来源

http://jsbin.com/epujom/5/edit

编辑: 我已经更新了测试用例。现在可以清楚地看到,jQuery.isReady = false即使 DOM 已准备好

4

2 回答 2

0

RequireJS 提供了一个轻量级的 domReady 模块,您可以将它与其他模块一起使用。通过这样做,您无需在 dom 就绪功能可用之前等待 jQuery 被加载和解析。

更多细节 - http://requirejs.org/docs/api.html#pageload

于 2013-01-11T14:25:07.780 回答
0

我可以达到我想要的结果的唯一方法是加载头部domready 插件,比如

https://github.com/freelancephp/DOMReady

或者

https://github.com/requirejs/domReady

domready 插件或附加事件应始终在实际浏览器 domready 事件发生之前运行,否则它们都在等待加载所有图像,这不是您想要的。

于 2013-01-11T19:15:12.513 回答