解决jQuery不同版同时引用的冲突

时间:2021-06-09 14:30:18

今天研发的同事在开发一个新jQuery插件时,遇到一个揪心的问题。平台以前使用的 jQuery版本是1.2.6,偶,天啊!这是古代的版本啊!

由于很多功能基于老版本,不能删除啊,同志们都懂的!

于是我们就在讨论如何解决两个版本之间的冲突。查找了一些前辈写的资料,得出以下的代码:

 <!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>解决jQuery不同版同时引用的冲突</title>
<script src="jquery.min/jquery.1.7.1.min.js"></script>
<script>var jq171 = jQuery.noConflict(true);</script>
<script src="jquery.min/jquery.1.9.1.min.js"></script>
</head>
<body>
<br>
<button id="b17">1.7.1</button><br>
<button id="b19">1.9.1</button>
<script>
(function($){
$(function(){
$("#b17").click(function(){
alert('1.7.1')
})
})
})(jq171) $(function(){
$("#b19").click(function(){
alert('1.9.1')
})
})
</script>
</body>
</html>

在调用第一个版本下面添加一个 noConflict() 的声明,然后在调用的时候使用闭包,将就着解决吧,虽然看起来很怪异!