我有以下代码:
jq1111 = jQuery.noConflict(true);
(function($, jQuery){
// bunch of js libraries (backbone, underscore, etc)
...
Marionette.Callbacks = function(){
this._deferred = Marionette.$.Deferred();
this._callbacks = [];
};
...
})(jq1111, jq1111)
我看到一个错误,它说this._deferred = Marionette.$.Deferred();
中的$未定义。
我在函数中定义了$,$的所有其他实例似乎都没有问题。知道为什么会这样或者如何绕过它吗?
请注意,使用没有“true”的jQuery.noConflict()工作正常,但我在新函数调用中定义了jQuery,所以不应该有区别......
谢谢。
答案 0 :(得分:0)
我决定改变我的代码来执行以下操作:
(function($, jQuery){
// bunch of js libraries (backbone, underscore, etc)
...
})($, jQuery)
jq1111 = jQuery.noConflict(true);
我不确定为什么标准是在定义jQuery之前定义noConflict(),然后在函数中使用你的定义。 老实说,这样做会更有意义。