javascript - jQuery通过head中的JS加载

标签 javascript jquery html jquery-mobile

我正在使用 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/

相关文章:

javascript - 我可以克隆一个 Promise 吗?

javascript - 将分割字符串的子字符串包装在元素中

javascript - Node JS - 记录工作集群最后一个异常

javascript - 每次生成动态行,同时关注最后一行元素

html - Bootstrap v4 - 对齐卡片,移除多余空间

Javascript:按类名隐藏元素

jQuery - not() 不适用于元素上新添加的类

javascript - 基于高度、宽度和深度创建动态 3d css 框

javascript - 大型数据集的单个 <select multiple ="multiple"> 元素的替代方案

html - 在输入框的焦点上更改按钮的样式