我使用noConflict()作为我的源代码,因为在我的程序中包含来自其他源代码的重复jquery.js有很多问题:
var $ m = jQuery.noConflict();
$ m.getJSON(........
问题是,当我调用noConflict()时,$将无效。我知道我可以将$更改为JQuery以解决此问题。但我们有很多来自其他人的自定义代码,这是不可能更改所有源代码的。
有没有办法恢复?我尝试了这个但没有工作:
var $ = jQuery.noConflict();
答案 0 :(得分:3)
使用函数表达式。
(function ($) {
// code using $ for jQuery
}(jQuerysVariable));
答案 1 :(得分:0)
如果您有权访问其他代码,请将其包装在将jQuery
绑定到名为$
的参数的IIFE闭包中:
(function($) {
...
})(jQuery);
如果您不可以访问其他代码,您可以尝试暂时将$
设置为指向jQuery的“无冲突”实例:
var _tmp = window.$; // save old value
window.$ = $m; // or window.$ = window.jQuery
// invoke and/or load other code here
...
window.$ = _tmp; // restore previous value