requirejs与jQuery .domready()未正确触发

时间:2013-01-10 21:15:15

标签: jquery javascript-events requirejs domready

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

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

切换为jQuery 1.7.2会使.load()正常工作,但.ready()充当.load(),并且永远不会在真正的dom ready事件中触发。我在这里做错了什么或者不仅仅是我有这些问题吗?

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

http://jsbin.com/epujom/5

来源

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

修改 我已经更新了测试用例。现在可以清楚地看到,即使dom准备就绪,jQuery.isReady = false

2 个答案:

答案 0 :(得分:0)

RequireJS提供了lightweight domReady module,您可以将其与其他模块一起使用。通过这样做,您就不必等待在dom ready功能可用之前加载和解析jQuery。

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

答案 1 :(得分:0)

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

https://github.com/freelancephp/DOMReady

https://github.com/requirejs/domReady

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