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

posted @   treeland  阅读(115)  评论(0编辑  收藏  举报
编辑推荐:
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
阅读排行:
· C# 13 中的新增功能实操
· Ollama本地部署大模型总结
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(4)
· langchain0.3教程:从0到1打造一个智能聊天机器人
· 2025成都.NET开发者Connect圆满结束
点击右上角即可分享
微信分享提示