我正在使用 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 示例没有在 head.ready()
内部使用 jQuery 的 $(document).ready()
,但我记得遇到过没有它就会出现一些问题。他们可能已经修复了它,但包含它并没有真正造成任何伤害。
更新:如评论中所述,对于 jQuery Mobile,您应该使用 $(document).bind('pageinit')
代替 $ (文档).ready()
.
关于javascript - jQuery通过head中的JS加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16342216/