我正在使用 jQuery 和 jQuery Mobile 来构建应用程序。我通过头部的脚本动态加载 jQuery 和 jQuery Mobile。我的正文在脚本中使用了 jQuery ($),但由于它是异步加载的,所以无法访问它。如何同步加载我的 jQuery 或解决问题?
提前致谢
我正在使用 jQuery 和 jQuery Mobile 来构建应用程序。我通过头部的脚本动态加载 jQuery 和 jQuery Mobile。我的正文在脚本中使用了 jQuery ($),但由于它是异步加载的,所以无法访问它。如何同步加载我的 jQuery 或解决问题?
提前致谢
您可能想查看head.js。它异步加载您的脚本,然后为您提供一个类似于 jQuery 的现成函数,您可以在其中放置所有 onLoad 代码。
<head>
...
<script src="/js/head.js"></script>
<script>
head.js('/js/jquery.js', '/js/jquery-mobile.js', function() {
$(document).ready(function() {
// Write some code!
})
});
</script>
...
</head>
如果您在其他地方需要 javascript,您可以使用head.ready()
<script>
head.ready(function() {
$(document).ready(function () {
// Write more code!
});
});
</script>
哪个可以放在html中的任何地方。
注意:head.js 示例不使用 jQuery 的$(document).ready()
内部head.ready()
,但我记得没有它会遇到一些问题。他们可能已经修复了它,但包括它并没有真正伤害任何东西。
更新:如评论中所述,对于 jQuery Mobile,您应该使用$(document).bind('pageinit')
.$(document).ready()