首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >head.js和jQuery $.noConflict()没有按预期工作

head.js和jQuery $.noConflict()没有按预期工作
EN

Stack Overflow用户
提问于 2013-01-11 23:58:18
回答 2查看 753关注 0票数 1

我想弄清楚为什么会这样:

代码语言:javascript
复制
<script src="js/head.js"></script>
<script>head.js(<import-several-libraries-here>);</script>

<script src="code.jquery.com/jquery-1.8.3.js"></script>
<script src="code.jquery.com/ui/1.9.2/jquery-ui.js"></script>

<script>
    var j183 = $.noConflict(true);
</script>

但这些并不是:

代码语言:javascript
复制
<script src="js/head.js"></script>

<script>
    head.js(<import-several-libraries-here>);
    head.js("http://code.jquery.com/jquery-1.8.3.js");
    head.js("http://code.jquery.com/ui/1.9.2/jquery-ui.js");

    var j183 = $.noConflict(true);
</script>

代码语言:javascript
复制
<script src="js/head.js"></script>

<script>
    head.js(<import-several-libraries-here>);
    head.js("http://code.jquery.com/jquery-1.8.3.js");
    head.js("http://code.jquery.com/ui/1.9.2/jquery-ui.js");
</script>

<script>
    var j183 = $.noConflict(true);
</script>

我读过这篇文章,尝试过各种变体,但都没有用:

HeadJS and jQuery Usage

更新

我尝试了一个建议的答案:

代码语言:javascript
复制
head.js("http://code.jquery.com/ui/1.9.2/jquery-ui.js");
head.js("http://code.jquery.com/jquery-1.8.3.js", function() {
            var j183 = $.noConflict(true);
        });

但没起作用。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-12 00:25:45

根据http://headjs.com/

也许您应该尝试这样的方法,它将加载两个jQuery库,然后调用匿名函数,该函数将jQuery库重新分配给全局变量以供以后使用。

代码语言:javascript
复制
<script src="js/head.js"></script>

<script>
    head.js(<import-several-libraries-here>);

    head.js("http://code.jquery.com/jquery-1.8.3.js", 
            "http://code.jquery.com/ui/1.9.2/jquery-ui.js", function() {

         window.j183 = $.noConflict(true);

         head.js(<import-several-libraries-here>, function(){
            init();
         });  //that depend on j183

    });

    function init(){
         var $ = window.j183;

         $('body').each(function(){
             //do something
         });

         j183('body').each(function(){
             //do something else
         });

    }
</script>

更新:,展示如何在库中插入。

票数 1
EN

Stack Overflow用户

发布于 2013-01-12 00:12:48

您需要在回调中通过head.js执行任何依赖项加载的代码:

代码语言:javascript
复制
head.js("/path/to/jquery.js", function() {

   var j183 = $.noConflict(true);

});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14288586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档