当您使用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/edit
修改 我已经更新了测试用例。现在可以清楚地看到,即使dom准备就绪,jQuery.isReady = false
答案 0 :(得分:0)
RequireJS提供了lightweight domReady module,您可以将其与其他模块一起使用。通过这样做,您就不必等待在dom ready功能可用之前加载和解析jQuery。
答案 1 :(得分:0)
我想要达到我想要的结果的唯一方法是在头部加载 domready插件,如
https://github.com/freelancephp/DOMReady
或
https://github.com/requirejs/domReady
domready插件或附加事件应该始终在实际的浏览器domready事件发生之前运行,否则它们都在等待加载所有图像而这不是你想要的。