现在的位置: 首页 > 综合 > 正文

解决jQuery1.3与jquery 1.7mini冲突

2013年09月28日 ⁄ 综合 ⁄ 共 953字 ⁄ 字号 评论关闭

最近开发网站,由于网站要改版,请人做了点页面上的修改,结果原来的页面里面用了jquery 1.3和新页面用了jquery 1.7 mini,去整合的时候发现两者冲突了。
网上查了查,做法几乎都是在导入jquery语句下页面加上这样一段<script type="text/javascript">var j=jQuery.noConflict();</script>

然后在页面里面用j()代替 $(),试了之后没起做用,急得团团转,硬着头皮继续查,继续试,终于在网上找到一个类似的情况,解决了我的问题,

原来noConflict()方法里面要加参数true,写法<script type="text/javascript">var j=jQuery.noConflict(true);</script>才是对的,

在此推荐收藏。做法如下:

<script type=”text/javascript” src=”http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js”></script>
<script type=”text/javascript”>
var j = jQuery.noConflict(true);
</script>
<script type=”text/javascript” src=”http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js”></script>
<script type=”text/javascript”>
$(“document”).ready(function(){
alert(“jquery”);
})
j(“document”).ready(function(){
alert(“javascript”);
})
</script>
大致意思是这样的先把$使用权限交给另外一个jquery库,这样就能避免不同jquery版本之间的$对象之间的冲突。上面的代码可以弹出两个弹出框,就可以解除不同版本间冲突了。
在运行这个函数后,就只能用j访问jquery/1.3.2/。比如在要用到$(“div span”)的地方就要换成j(“div span”)。另外的jquery库正常使用,

抱歉!评论已关闭.