众所周知,jquery版本很多,而且有些版本的冲突也非常明显,有一些网上流传的很实用的插件是用A版本写的,但是要实现另各功能又必須用B版本。所以实现版本之間的和平相处很重要。
1.这里介绍一个函数,可以很顺利,很简单的解決这个问题。
<script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> var j = jQuery.noConflict(true); </script> <script type="text/javascript" src="jquery-1.7.js"></script> <script type="text/javascript"> $("document").ready(function(){ alert("faf"); }) j("document").ready(function(){ alert("faf"); }) </script>
运行这个函数把$的使用权让渡給另一个jquery库,这样就能避免不同jquery版本之間的$对象之间的冲突。
在运行这个函数之后,就只能用j访问第一个jquery库。例如,在要用到$("div p")的地方,就必须换成j("div p")。另一个jquery库,正常使用$访问。
注意:这个函数必须在导入jQuery文件之后,并且在导入另一个人jquery库之前运行。若改的是某个引用插件的jquery引用对象,则该插件内部的jquery对象引用都必须修改成一致的。
2.使用jQuery Migrate来还原某jquery版本中被删除或更改的功能来解决版本冲突问题。