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命名空间,$可能被重写为其他库的引用

  • 相关阅读:
    iOS
    iOS
    iOS
    iOS
    iOS
    使用jquery获取radio的值
    CSS margin属性与用法教程
    CSS框架960Grid从入门到精通一步登天
    从程序员到项目经理
    华为离职副总裁徐家骏:年薪千万的工作感悟
  • 原文地址:https://www.cnblogs.com/itree/p/5752507.html
Copyright © 2011-2022 走看看