zoukankan      html  css  js  c++  java
  • Jquery不同版本共用的解决方案(插件编写)

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

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

    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.

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

  • 相关阅读:
    机器学习 | 吴恩达斯坦福课程笔记整理之(一)线性回归
    机器学习 | 李航《统计学习方法》笔记整理之(一)统计学习方法概论
    机器学习 | 算法总结
    字符串转json数组
    js获取URL请求参数与改变src
    批量删除checkbox前台后台
    运行 jar 的问题
    ajax格式,转入后台
    from表单中checkbox的多选,ajax转入后台,后台接受
    springboot 上传图片,地址,在页面展示图片
  • 原文地址:https://www.cnblogs.com/mjbrian/p/8710351.html
Copyright © 2011-2022 走看看