本文主要是介绍引入jquery时多个js库的冲突解决,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
当一个项目中引入多个第三方库的时候,由于没有命名空间的约束(命名空间就好比同
一个目录下的文件夹一样,名字相同就会产生冲突),库与库之间发生冲突在所难免。
那么,既然有冲突的问题,为什么要使用多个库呢?原因是jQuery 只不过是DOM 操
作为主的库,方便我们日常Web 开发。但有时,我们的项目有更多特殊的功能需要引入其
他的库,比如用户界面UI 方面的库,游戏引擎方面的库等等一系列。
而很多库,比如prototype、还有我们JavaScript 课程开发的Base 库,都使用“$”作为
基准起始符,如果想和jQuery 共容有两种方法:
-
将jQuery 库在Base 库之前引入,那么“$”的所有权就归Base 库所有,而jQuery 可
以直接用jQuery 对象调用,或者创建一个“$$”符给jQuery 使用。
var $$ = jQuery; //创建一个$$的jQuery 对象
$(function () { //这是Base 的$
alert($('#box').ge(0)); //这是Base 的$
alert($$('#box').width()); //这是jQuery 的$$
});
-
如果将jQuery 库在Base 库之后引入,那么“$”的所有权就归jQuery 库所有,而Base
库将会冲突而失去作用。这里,jQuery 提供了一个方法:
jQuery.noConflict(); //将$符所有权剔除
var $$ = jQuery;
$(function () {
alert($('#box').ge(0));
alert($$('#box').width());
});
这篇关于引入jquery时多个js库的冲突解决的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!