在我的基于Web的应用程序中,我使用RequireJs来异步加载脚本,但有时(并非总是)我收到错误,因为似乎RequireJs没有正确加载依赖项。
样品:
require(['jquery-1.7.2.min', 'bootstrap/js/bootstrap.min'], function (){
//Used for initialize bootstrap tooltip
$('a[rel]').tooltip();
});
然后我得到:
未捕获的TypeError:对象[object Object]没有方法'tooltip'
有什么问题?
答案 0 :(得分:3)
创建AMD模块时,您应该接受模块输出(即$ for jQuery)作为自定义模块定义中的参数:
require(['jquery-1.7.2.min', 'bootstrap/js/bootstrap.min'], function ($) {
//Used for initialize bootstrap tooltip
$('a[rel]').tooltip();
});
注意添加$作为函数参数
此外,如果您正在加载jQuery的多个版本或副本的页面上(并且未标记为noconflict
,您也可能会遇到问题。
答案 1 :(得分:0)
tooltip
位于jqueryUI
库下,您需要在jqueryUI
依赖项中添加RequireJs
API。