1

我试图弄清楚为什么会这样:

<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>

但这些不:

<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>

<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 和 jQuery 用法

更新

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

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);
        });

它没有用。

4

2 回答 2

1

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

head.js("/path/to/jquery.js", function() {

   var j183 = $.noConflict(true);

});
于 2013-01-12T00:12:48.183 回答
1

根据http://headjs.com/

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

<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>

更新:展示如何初始化库。

于 2013-01-12T00:25:45.027 回答