文档章节

同时使用多版本jQuery(MultiVersion Of jQuery)

前端届的科比
 前端届的科比
发布于 2014/05/16 21:26
字数 258
阅读 73
收藏 0

本文使用RequireJs作为示例,在同一页面使用两个jQuery,jquery-2.0.3.js, jquery-1.7.js。

其实使用普通的script标签也都可以的。思路是:在加载一个版本jQuery时,把$保存在一个全局变量中,然后等待俩个$都加载完成后,想用哪个jQuery就调用它。

<!-- lang: html -->

    <!DOCTYPE html>
    <html>
    <head>
      <meta charset="utf-8" />
      <title>MultiVersion of jQuery</title>
    </head>
    <body>


      <script src="js/require.js"></script>
      <script>
      require.config({
        baseUrl: "js",
        paths: {
          "jquery": "jquery-2.0.3",
          "jquery.scrollable": "jquery.tools.min"
        },
        shim: {
          "jquery.scrollable": {
            deps: ["jquery"]
          }
        },
        map: {
          "jquery.scrollable": {
            "jquery": "jquery-1.7"
          },
          "*":{
            "jquery": "jquery-2.0.3"
          }
        }
      }),
      require(["jquery"], function(){
        console.log("require 1", $.fn.jquery)
        window._$ = $;
      }),
      require(["jquery.scrollable"], function(){
        console.log("require 2", $.fn.jquery),
        console.log("require 2 scrollable", typeof $.fn.scrollable),
        window._$$ = $;
      }),
      require(["jquery"], function(){
        var
          execMain = function(){
            console.log("i can use ", window._$.fn.jquery),
            console.log("i can use ", window._$$.fn.jquery);
          },

          t = setInterval(function(){
            if(window._$ && window._$$) execMain(), t = clearInterval(t);
            else console.log("_$", typeof window._$, "_$$", typeof window._$$);
          }, 10);
      });
      </script>

    </body>
    </html>

    <!-- 输出如下:
    require 1 2.0.3
    _$ function _$$ undefined
    require 2 1.7.2
    require 2 scrollable function
    i can use  2.0.3
    i can use  1.7.2
     -->

© 著作权归作者所有

前端届的科比
粉丝 21
博文 64
码字总数 51572
作品 0
深圳
私信 提问
jQuery.noConflict() 函数详解

jQuery.noConflict()函数用于让出jQuery库对变量$(和变量jQuery)的控制权。 一般情况下,在jQuery库中,变量$是变量jQuery的别名,它们之间是等价的,例如jQuery("p")和$("p")是等价的。由于...

鱼煎
2015/07/20
230
0
jQuery 1.9 正式版发布,最后支持 IE 6/7/8 的版本

jQuery 1.9 正式版发布了,同时发布的还有 jQuery Migrate 1.0,如果你想使用该版本请先阅读 jQuery 1.9 升级指南 以便让你的升级更加顺利。 于此同时 jQuery 2.0 也正在进行 beta 的测试,2...

oschina
2013/01/16
29K
53
谈谈 jQuery 中的防冲突(noConflict)机制

许多的 JS 框架类库都选择使用 $ 符号作为函数或变量名,jQuery 是其中最为典型的一个。在 jQuery 中,$ 符号只是 window.jQuery 对象的一个引用,因此即使 $ 被删除,window.jQuery 依然是保...

i33
2013/03/13
69
0
jQuery零基础入门——(一)初识jQuery

《jQuery零基础入门》系列博文是在廖雪峰老师的博文基础上,补充了个人的理解和日常遇到的点,主干出处来自廖雪峰老师的技术分享。 大家好,欢迎来到我们新的课程。应部分读者的要求,为满足...

JandenMa
2018/06/29
113
3
解决多个jquery并存冲突问题

jQuery自诞生以来,版本越来越多,而且jQuery官网的新版本还在不断的更新和发布中,现已经达到了1.6.4版本,但是我们在以前的项目中就已经使用了旧版本的jQuery,比如已经出现的:1.3.X、1.4...

罗盛力
2011/12/02
4.6K
0

没有更多内容

加载失败,请刷新页面

加载更多

反编译9.png图片还原

本文链接:https://blog.csdn.net/a1140778530/article/details/10528507 经常反编译apk文件找资源,9.png的文件处理起来很麻烦。 最近使用Ant自动编译打包app时,从别处搜罗来的9.png文件导...

shzwork
23分钟前
6
0
Shell脚本应用 – for、while循环语句

一、for循环语句 在实际工作中,经常会遇到某项任务需要多次执行的情况,而每次执行时仅仅是处理的对象不一样,其他命令相同。例如:根据通讯录中的姓名列表创建系统账号等情况。 当面对各种...

linux-tao
23分钟前
5
0
RPA风潮下企业财务工作模式的变革

RPA(机器人流程自动化)在财务领域的应用,正给企业财务带来前所未有的改变。 前RPA时代,财务领域面临的痛点 在RPA机器人应用之前,企业财务工作进程的推进,主要通过财务人员人工操作或信...

UiBot
28分钟前
5
0
Hive之命令行修改表注释

最近遇到一个需求,在不重建表的情况下,修改表的注释,hive有没有类似关系型数据库的SQL命令来修改呢,找了下,亲测有效,如下List-1 List-1 hive>use your_schemahvie>ALTER TABLE tabl...

克虏伯
28分钟前
5
0
是什么,它的作用是什么

在HTML文档的首部往往会有这么一句话<!DOCTYPE html>,许多时候我们忽视了它的存在,它实际上是一个声明,告诉浏览器用哪种HTML版本的规范来解读HTML文档。 尽管我们不给出这句声明浏览器照样...

前端老手
34分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部