Javascript 加载两个脚本块(使用lab.js作为加载管理器)

Javascript 加载两个脚本块(使用lab.js作为加载管理器),javascript,jquery,labjs,dynamic-script-loading,Javascript,Jquery,Labjs,Dynamic Script Loading,我试图在不同的位置加载两个lab.js块,但是如果我使用第一个块中加载的文件中的第二个块中的函数,它们将显示为未定义 这是第一个块(从我的MVC项目加载到标题模板中) <script> $LAB .script("<?php echo(GlobalConfig::$ROOT_URL); ?>scripts/jquery-1.10.2.min.js").wait() .script("<?php echo(GlobalConfig::$ROOT_URL); ?>

我试图在不同的位置加载两个
lab.js
块,但是如果我使用第一个块中加载的文件中的第二个块中的函数,它们将显示为未定义

这是第一个块(从我的MVC项目加载到标题模板中)

<script>
$LAB
.script("<?php echo(GlobalConfig::$ROOT_URL); ?>scripts/jquery-1.10.2.min.js").wait()
.script("<?php echo(GlobalConfig::$ROOT_URL); ?>bootstrap/js/bootstrap.min.js").wait()
.script("<?php echo(GlobalConfig::$ROOT_URL); ?>bootstrap/js/bootstrap-datepicker.js").wait()
.script("<?php echo(GlobalConfig::$ROOT_URL); ?>scripts/libs/underscore-min.js").wait()
.script("<?php echo(GlobalConfig::$ROOT_URL); ?>scripts/libs/underscore.date.min.js").wait()
.script("<?php echo(GlobalConfig::$ROOT_URL); ?>scripts/libs/backbone-min.js").wait(function(){
    $(document).ready(function(){
        alert("loaded");
    });
});
</script>
第二个块(.tooltip)中的函数没有加载,因为它们依赖于jquery。没有办法将两个块统一到加载到头中的块中(两个文件完全独立,并且动态创建内容,这也不是我想要实现的)

所以问题是..有没有办法告诉第二个块只在第一个块完全加载时加载


非常感谢!

我认为问题在于您正在创建两个独立的$LAB链,您可以通过存储对$LAB链的引用并将上次调用链接到末尾来实现,如下所示:

第一个街区:

<script>
var chain = $LAB
.script("<?php echo(GlobalConfig::$ROOT_URL); ?>scripts/jquery-1.10.2.min.js").wait()
.script("<?php echo(GlobalConfig::$ROOT_URL); ?>bootstrap/js/bootstrap.min.js").wait()
.script("<?php echo(GlobalConfig::$ROOT_URL); ?>bootstrap/js/bootstrap-datepicker.js").wait()
.script("<?php echo(GlobalConfig::$ROOT_URL); ?>scripts/libs/underscore-min.js").wait()
.script("<?php echo(GlobalConfig::$ROOT_URL); ?>scripts/libs/underscore.date.min.js").wait()
.script("<?php echo(GlobalConfig::$ROOT_URL); ?>scripts/libs/backbone-min.js")
</script>

我试过了,但它仍然给出了一个语法错误。当然错误来自$lab的双重声明,但它仍然不是那样工作的。我现在正在使用一种解决方法,在负载链之外定义jquery,但它仍然不是一个好主意。这很奇怪……你有一个JSFIDLE示例可以使用吗?另外,我不想建议这样做,但我有要检查:jquery UI中是否有.tooltip?是否确实正在加载它?
<script>
var chain = $LAB
.script("<?php echo(GlobalConfig::$ROOT_URL); ?>scripts/jquery-1.10.2.min.js").wait()
.script("<?php echo(GlobalConfig::$ROOT_URL); ?>bootstrap/js/bootstrap.min.js").wait()
.script("<?php echo(GlobalConfig::$ROOT_URL); ?>bootstrap/js/bootstrap-datepicker.js").wait()
.script("<?php echo(GlobalConfig::$ROOT_URL); ?>scripts/libs/underscore-min.js").wait()
.script("<?php echo(GlobalConfig::$ROOT_URL); ?>scripts/libs/underscore.date.min.js").wait()
.script("<?php echo(GlobalConfig::$ROOT_URL); ?>scripts/libs/backbone-min.js")
</script>
chain.wait(function(){
    $(document).ready(function(){

        $(".test-badges").each(function( index ) {
            $( this ).tooltip({
              'show':true,
              'placement': 'bottom',
              'title' : 'Marca esta casilla si consideras que tu compañer@ debe responder igual.'
            });
        });
    });
});