多库共存-冲突问题

多库共存-冲突问题

我们在做项目的时候,需要引入2个库,但是这个2个库的功能我们都可能会用到,但会出现冲突问题。

这时候我们需要让 其中一个放弃$的使用,让放弃$使用者,使用 jquery。

$.onConflict:放弃版本高的$的使用权

//后引入的jq库会把前面的覆盖掉
    //一般版本高的jq写在下面,版本低的写在上面(版本由高低到高写的)
    //因为,低版本覆盖不掉高版本的功能 容易出现问题
    //后期放弃$的使用,也是先放弃高版本的
    <script src="jquery-1.8.2.min.js"></script>
    <script src="jquery-1.11.1.js"></script>
    <script>
        jQuery(function(){
           // 打印版本号
           // 获取的是,1.11.1
            console.log($.fn.jquery);

            //让1.11.1 放弃$的使用,每个库都有$ jQuery来个对象
            //放弃第一个,第二个还可以使用
            $.noConflict();

            //打印的是1.8.2 说明1.11.1 放弃了$的使用,使用权归1.8.2
            //用$调用的都是1.8.2库的功能
            console.log($.fn.jquery);

            //打印的是1.11.1 用jquery调用的功能都是1.11.1库
            console.log(jQuery.fn.jquery);
        })
    </script>

var new=$.onConflict(true) :放弃俩个版本号$的使用权

//放弃俩个符号的使用权($ jquery)
            var MrLe= $.noConflict(true);
            console.log($.fn.jquery);   //打印1.8.2 俩个使用权都归他所以
            console.log(jQuery.fn.jquery);  //打印1.8.2 俩个使用权都归他所以
            console.log(MrLe.fn.jquery); //打印1.11.1 MrLe使用权是1.11.1

原文地址:https://www.cnblogs.com/wdz1/p/8186291.html

时间: 2024-10-11 12:16:06

多库共存-冲突问题的相关文章

jQuery多库共存问题解决方法

一.问题概述: 1.随着jQuery的流行,采用jQuery和$符为命名空间的js库越来越多,当然jQuery的$符也是参照的Prototype库的,所以当多个库同时以$符或者jQuery为命名空间时,那么此时,就会产生冲突. 2.由于jQuery的更新速度过快,所以插件更不上,导致不同版本的jQuery对插件支持的不一样,而刚好我们此时需要用一个高版本的jQuery进行开发,我们用的z-tree则是低版本的jQuery,所以在这种场景下,则会产生$和jQuery命名空间冲突的问题 3.这里jQ

jQuery库(noConflict)冲突解决机制

许多的JS框架类库都选择使用$符号作为函数或变量名,而且在实际的项目开发中,使用模板语言的话有可能"$"符号即为该模板语言的关键字.例如Veclocity模板语言,$是关键字.与jQuery一起使用可能会存在冲突(页面中直接写jq代码,引入的js文件不存在该问题).吐槽下为啥这么多js库喜欢用$($ is money?). jQuery是使用$符号作为函数或变量名最为典型的一个.在jQuery中,$符号只是window.jQuery对象的一个引用,因此即使$被删除,jQuery依然能保

jQuery内置动画和多库共存

<!-- 淡入淡出: 不断改变元素的透明度来实现的 1. fadeIn(): 带动画的显示 2. fadeOut(): 带动画隐藏 3. fadeToggle(): 带动画切换显示/隐藏 --> jQuery动画本质 : 在指定时间内不断改变元素样式值来实现的 1. animate(): 自定义动画效果的动画 2. stop(): 停止动画 <!-- 滑动动画 1. slideDown(): 带动画的展开 2. slideUp(): 带动画的收缩 3. slideToggle(): 带动

jQuery插件扩展与多库共存

查看扩展写法 1.工具类扩展 2.对象方法扩展 /* 扩展jQuery的工具方法 : $.extend(object) min(a, b) : 返回较小的值 max(c, d) : 返回较大的值 leftTrim() : 去掉字符串左边的空格 rightTrim() : 去掉字符串右边的空格 */ //正则 /* ^ 匹配字符串开始 \s 匹配空格 + 匹配一次或者多次 $ 匹配字符串的末尾 */ //扩展$ $.extend({ min: function (a, b) { return (a

222 jQuery 多库共存

? 实际开发中,很多项目连续开发十多年,jQuery版本不断更新,最初的 jQuery 版本无法满足需求,这时就需要保证在旧有版本正常运行的情况下,新的功能使用新的jQuery版本实现,这种情况被称为,jQuery 多库共存. 语法 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport&qu

JQuery之JQuery的版本 JQuery入门 属性获取 JQuery就绪函数 JS文档就绪函数和JQuery文档就绪函数的区别 JS对象和JQuery对象的区别 关于$的使用 多个JS库的冲突解决方案

JQuery的版本 JQuery入门 属性获取 JQuery就绪函数 JS文档就绪函数和JQuery文档就绪函数的区别 JS对象和JQuery对象的区别 关于$的使用 多个JS库的冲突解决方案 JQuery的版本 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>jQuery的版本</title> <

C程序中让两个不同版本的库共存

原文连接:http://blog.gotocoding.com/archives/875 今天有同学提出,如何在一个C程序中让两个不同版本的库共存. 首先想到的方案是,把其中一个版本的库函数全部重命名,比如把每一个函数名都加一个_v2的后缀. 人工替换到没什么,但是如果函数个数超过10个,就有点不拿人当人使了. 而使有工具去替换就会遇到一些棘手的问题,如何识别哪些是函数,哪些是系统函数(系统函数不需要添加后缀)等. 随后想到的另一个解决方案是C++的方案,为其中一个版本库中的所有文件添加命名空间

解决jQuery和其他库的冲突

本文摘自<锋利的jQuery> 在jQuery库中,几乎所有的插件都被限制在它的命名空间里.通常,全局(global)对象都被很好地存储在jQuery命名空间里,因此当把jQuery和其他JavaScript库(例如Prototype.MooTools或YUI)一起使用时,不会引起冲突. 注:默认情况下,jQuery用$作为自身的快捷方式. 1.jQuery库在其他库之后导入 在其他库和jQuery库都被加载完成后,可以在任何时候调用jQuery.noConflict()函数来将变量$的控制权

jQuery与其他JS库共存

* 事件 * jQuery与其他JS库共存 * 调用jQuery.noConflict()方法 * 表示jQuery将"$"符号的使用权交出 * 通过两种方式将"$"找回 * 第一种 jQuery(function($){// 函数域 // function中定义形参"$" $("ul>li"); }); * 第二种 (function($){// 函数域 $("ul>li"); })(jQue