Jquery多库共存的方案

Posted by huangqing on March 9, 2020

Jquery有多库共存的方案,那就是Jquery.noconfilct()功能。

<script type="text/javascript" src="jquery-1.9.1.js"></script>
<script type="text/javascript" src="customize.js"></script>
<script type="text/javascript">
var _$ = jQuery.noConflict(true);
</script>
<script type="text/javascript" src="jquery-1.6.2.js"></script>
<script type="text/javascript">
//invoke Jquery.1.6.2
$("document").ready(function(){
  alert("faf");
})
//invoke Jquery.1.9.1
_$("document").ready(function(){
  alert("faf");
})
</script>

这里只是简单的整合两个版本,_$调用的是1.9.1版本的API,而$调用的是1.6.3的API.

通常我们都会基于某个版本写插件,比如基于1.9.1的版本写了个customize.js,这个文件必须放在1.9.1.js引用之后, jQuery.noConflict(true)之前。这里需要注意,customize.js里面的插件编写,还是必须用”$“,这是因为此时还没有调用jQuery.noConflict函数,在调用完该函数后,需要用到自定义的插件或是1.9.1里的函数库,就必须用”_$“。如_$("#selector").company_button调用的就是自定义的插件。如调用$("#selector").company_button,就会出现无此函数的错误。