jQuery源码分析(4) - 如何处理$的命名冲突问题

var _$ = window.$;
var jQuery = function(){};
jQuery.extend({
  noConflict: function(deep){
    if (window.$ === jQuery) {
      window.$ = _$;
    }
    if (deep && window.jQuery === jQuery){
      window.jQuery = _jQuery;
    }
    return jQuery;
  }
});
加载jquery和另外一个也是用$的库之后,
var $j = jQuery.noConflict();   // 定义一个新的名称
$j(function(){});
如果想在jQuery里继续使用$, 只需要将$作为参数传入,
jQuery.noConflict();
jQuery(function($){
  $('div').click(function(){ });
});

猜你喜欢

转载自www.cnblogs.com/easonw/p/11505328.html