Javascript jQuery在head中通过JS加载

Javascript jQuery在head中通过JS加载,javascript,jquery,html,jquery-mobile,Javascript,Jquery,Html,Jquery Mobile,我正在使用jQuery和jQuery Mobile构建一个应用程序。我通过头部的脚本动态加载jQuery和jQuery Mobile。我的正文在脚本中使用jQuery($),但无法访问它,因为它是异步加载的。如何同步加载jQuery或解决问题 提前感谢您可能想看看。它异步加载您的脚本,然后提供一个ready函数,类似于jQuery,您可以在其中放置所有的onLoad代码 <head> ... <script src="/js/head.js"></script>

我正在使用jQuery和jQuery Mobile构建一个应用程序。我通过头部的脚本动态加载jQuery和jQuery Mobile。我的正文在脚本中使用jQuery($),但无法访问它,因为它是异步加载的。如何同步加载jQuery或解决问题

提前感谢

您可能想看看。它异步加载您的脚本,然后提供一个ready函数,类似于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>
它可以在html中的任何位置

注意:head.js示例没有在
head.ready()
中使用jQuery的
$(document.ready()
,但我记得在没有它的情况下遇到了一些问题。他们可能已经修好了,但包括它并没有真正伤害到任何东西

更新:如注释中所述,对于jQuery Mobile,您应该使用
$(document.bind('pageinit')
来代替您可能想要查看的
$(document.ready()
)。它异步加载您的脚本,然后提供一个ready函数,类似于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>
它可以在html中的任何位置

注意:head.js示例没有在
head.ready()
中使用jQuery的
$(document.ready()
,但我记得在没有它的情况下遇到了一些问题。他们可能已经修好了,但包括它并没有真正伤害到任何东西


更新:如评论中所述,对于jQuery Mobile,您应该使用
$(document).bind('pageinit')
来代替
$(document).ready()

您在寻找什么?如果您在头部放置
脚本
标记,那么它实际上不是动态的,而且肯定是同步的。如果您使用的是像
requirejs
这样的自动加载器,那么它是异步的。如何将脚本放到页面上?脚本是通过脚本标记加载的,它包含一个匿名函数,该函数使用jQuery执行并加载其他脚本标记。如果异步加载,使用像requirejs这样的东西。我不能使用document ready,因为jQuery mobile异步拉入每个页面,然后用它的主体填充DOM。你在找什么?如果你在头部放一个
脚本
标记,它不是真正的动态-而且肯定是同步的。如果您使用的是像
requirejs
这样的自动加载器,那么它是异步的。如何将脚本放到页面上?脚本是通过脚本标记加载的,它包含一个匿名函数,该函数使用jQuery执行并加载其他脚本标记。如果异步加载,使用像requirejs这样的东西。我不能使用document ready,因为jQuery mobile异步拉入每个页面,然后用其主体填充DOM。我不能使用document.ready,因为jQuery mobile将拉入我的页面asynchronously@ubiQ在这种情况下,正如jQuery移动文档所说,只需使用
$(document.bind('pageinit')
取代了
$(document).ready()
。我无法使用document.ready,因为jQuery mobile将把我的页面拉进去asynchronously@ubiQ在这种情况下,正如jQuery移动文档所说,只需使用
$(document.bind('pageinit')
代替
$(document.ready()
)。