zoukankan      html  css  js  c++  java
  • jQuery中的noConflict

    一、 jquery-1.12.1.js中的实现

    var
      // Map over jQuery in case of overwrite
      _jQuery = window.jQuery,
      // Map over the $ in case of overwrite
      _$ = window.$;
    jQuery.noConflict = function(deep) {
      if (window.$ === jQuery) {
        window.$ = _$;
      }
      
      if (deep && window.jQuery === jQuery) {
        window.jQuery = _jQuery;
      }
      
      return jQuery;
    };
    
    

    二、 解释

    • _jQuery_$将可能存在的同名变量先存储起来;
    • 将原先存在的$放回 window.$
    • deep为true时,完全将 jQuery移到一个新的命名空间;

    三、使用

    • jquery在其他库之后导入

      1. 执行以下语句交出$的控制权,仍可以使用jQuery命名空间
      jQuery.noConflict();
      
      1. 获取jQuery命名空间的引用,后续使用该引用即可正常使用jQuery
      var  $JQ = jQuery.noConflict();
      
    • jquery在其他库之前导入
      可以直接使用jQuery命名空间,$可能被重写为其他库的引用

  • 相关阅读:
    poj 2251
    poj 1321
    poj 2777
    poj 3468
    poj 2318
    javascript
    buhui
    swift 构造器
    mac上不了网
    字体
  • 原文地址:https://www.cnblogs.com/itree/p/5752507.html
Copyright © 2011-2022 走看看