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

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

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

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

 1 <!doctype html>
 2 <html>
 3 <head>
 4 <meta charset="utf-8">
 5 <title>解决jQuery不同版同时引用的冲突</title>
 6 <script src="jquery.min/jquery.1.7.1.min.js"></script>
 7 <script>var jq171 = jQuery.noConflict(true);</script>
 8 <script src="jquery.min/jquery.1.9.1.min.js"></script>
 9 </head>
10 <body>
11 <br>
12 <button >1.7.1</button><br>
13 <button >1.9.1</button>
14 <script>
15 (function($){
16     $(function(){
17         $("#b17").click(function(){
18             alert('1.7.1')
19         })
20     })
21 })(jq171)
22 
23 $(function(){
24     $("#b19").click(function(){
25         alert('1.9.1')
26     })
27 })
28 </script>
29 </body>
30 </html>

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