Jquery不一样版本共用的解决方案(插件编写)

最近在为某公司作企业内部UI库,通过研究分析和评审,决定基于Jquery开发,结合Bootstrap插件那简洁,优雅,高效的思想进行插件编写。 javascript

可是在编写的过程当中遇到一个头疼的问题,就是正在编写的插件是基于Jquery-1.9.1版本开发的,而企业网站使用的是Jquery-1.6.2版本,这就会产生版本兼容性的问题,若是用了高版本的开发,整个网站极可能会瘫痪,可是沿用旧版本的Jquery,就会缺乏不少功能,开发效率相对较低。幸亏Jquery还有多库共存的方案,那就是Jquery.noconfilct()功能了。看了Jquery的API和查阅了相关资料,都不符合个人实际须要,通过屡次的调试以后,终于成功整合了这两个版本 java

  1. <script type="text/javascript" src="jquery-1.9.1.js"></script>
  2. <script type="text/javascript" src="customize.js"></script>
  3. <script type="text/javascript">
  4. var _$ = jQuery.noConflict(true);
  5. </script>
  6. <script type="text/javascript" src="jquery-1.6.2.js"></script>
  7. <script type="text/javascript">
  8. //invoke Jquery.1.6.2
  9. $("document").ready(function(){
  10. alert("faf");
  11. })
  12. //invoke Jquery.1.9.1
  13. _$("document").ready(function(){
  14. alert("faf");
  15. })
  16. </script>

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

一般咱们都会基于某个版本写插件,好比基于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,就会出现无此函数的错误。 函数

相关文章
相关标签/搜索