query和prototype库冲突的解决方法

我们在使用 jQuery 的过程中我们会频繁使用 $ 符号,$是JQuery的别名,所有使用$的地方也都可以使用JQuery来替换,例如 如$(‘#msg‘)等同于JQuery(‘#msg‘)的写法。

在页面中同时引入另一个js类库,并且该类库也是用了 $ 符号时,$ 代表的变量将被覆盖。例如 prototype.js。

我们举个例子:

A.jquery.js 在 prototype.js 之前引入

<script src="jquery.js" type="text/javascript"/>
<script src="prototype.js" type="text/javascript"/>

在这种情况下,我们在自己的js代码中如下写的话:

$(‘#msg‘).hide();

$此时代表的prototype.js中定义的$符号,如果我们想要调用jquery.js中的工厂选择函数功能的话,只能用全称写法JQuery

(‘#msg‘).hide().

B.jquery.js 在 prototype.js 之后引入

在这种情况下,我们在自己的js代码中如下写的话: $(‘#msg‘).hide();

$永远代表的是jquery中定义的$符号,也可以写成JQuery(‘#msg‘).hide();prototype.js中定义的$则被覆盖了,

解决的方法 1:在编写完 使用了 jquery 中的 $的代码后 用

JQuery.noConflict();

来让Jquery放弃对$的所有权,将$的控制权交还给prototype.js,因为jquery.js是后引入的,所以最后拥有$控制权的是jquery,当在代码中调用了该 方法以后,我们就不可以使用$来调用jquery的方法了,而要使用 jQuery() 方法。

解决的方法 2:自定义jquery 的别名

var $j=JQuery.noConflict();
$j(‘#msg‘).hide();//此处$j就代表JQuery 

使用如上代码,自此以后$就代表prototype.js中定义的$,jquey.js中的$无法再使用,只能使用$j来作为jquey.js中JQuery的别名了。

query和prototype库冲突的解决方法

时间: 2024-12-22 08:12:29

query和prototype库冲突的解决方法的相关文章

jQuery与其它库冲突的解决方法(转)

原文出处:http://www.jb51.net/article/24014.htm 在jQuery库中,几乎所有的插件都被限制在它的命名空间里.全局的对象都很好地存储在jQuery命名空间里,因此当把jQuery和其它javascript类库一起使用时,不会引起冲突. (注意:默认情况下,jQuery用$作为自身的缩写而以) 如果jQuery类库和别的类库冲突的话,可以使用jQuerynoConflict()函数来将变量$的控制权移交出给其它的javaScipt库.看下面小片断代码 <scri

git 本地库推送远程库 版本冲突的解决方法

参考: http://blog.csdn.net/shiren1118/article/details/7761203 github上的版本和本地版本冲突的解决方法 $ git push XXX master把本地master分支的最新修改推送至远程库XXX Username for 'https://github.com': shiren1118Password for 'https://[email protected]': To https://github.com/shiren1118/

关于Android滑动冲突的解决方法(二)

之前的一遍学习笔记主要就Android滑动冲突中,在不同方向的滑动所造成冲突进行了了解,这样的冲突非常easy理解,当然也非常easy解决.今天,就同方向的滑动所造成的冲突进行一下了解,这里就先以垂直方向的滑动冲突为背景,这也是日常开发中最常见的一种情况. 这里先看一张效果图 由于GIF 图片大小的限制.截图效果不是非常好 上图是在购物软件上常见的上拉查看图文详情,关于这中动画效果的实现.事实上实现总体的效果,办法是有非常多的,网上有非常多相关的样例,可是对某些细节的处理不是非常清晰.比方,下拉

Unity 深度冲突的解决方法

Dillon|2014-02-12 10:00|5899次浏览|Unity(280)0 3d游戏中当2个片元距离近裁减平面 w  落在同一个区间的时候,他们的深度是相等的. 最终你所看到的结果,就是下面的这种样子: 注意到蓝色线框里面. 要解决这个问题, 你只要google 或者去 beyond3d,等论坛,搜索 depth fighting ,得到的答案往往就是设置深度偏移. OpenGL : Polygon offset. D3D: Depth Bais. 拿OpenGL 来说,就是对有存在

Linux下检测IP地址冲突及解决方法

Linux下检测IP地址冲突及解决方法 问题说明: 在公司办公网内的一台物理机A上安装了linux系统(ip:192.168.9.120),在上面部署了jenkins,redmine,svn程序.由于是在办公网内,这台机器和同事电脑都是在同一网段的. 突然某天问题出来了:有部分同事远程ssh登陆不上这台linux系统的机器,jenkins/redmine/svn也登陆不上,其他部分同事可以正常使用. 后来发现,是因为这台linux机器的ip被人占用了,ip地址冲突引起的!! 下面介绍下检查ip地

Hyper-V与VirtualBox或VMware虚拟机软件冲突的解决方法(VirtualBox只能创建32位虚拟机)

Hyper-V与VirtualBox或VMware虚拟机软件冲突的解决方法 Hyper-V是微软的虚拟化软件,功能类似VirtualBox.VMware,可以用来创建虚拟机. 虚拟化软件都是基于CPU等底层硬件的Hypervisor机制来实现的,而他们必须独占管理 Hypervisor,因此不能在一台电脑中同时运行多个虚拟化软件.由于Hyper-V与VirtualBox.VMware不能共存,因此当Hyper-V打开时,VirtualBox.VMware就不能正常工作了.目前还没有找到Virtu

小程序云开发调用HTTP请求中got第三方库使用失败解决方法

小程序云开发调用HTTP请求中got第三方库使用失败解决方法 错误代码 {"errorCode":1,"errorMessage":"user code exception caught","stackTrace":"The \"original\" argument must be of type function"} 替换方案 // 云函数入口文件 const cloud = req

LIBCMTD.lib与libcpmtd冲突的解决方法。

error: 1>uafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" ([email protected]@Z) 已经在 LIBCMTD.lib(new.obj) 中定义 1>uafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" ([

Egit的merge合并冲突具体解决方法

稍微总结下弄了半个下午的egit的merge合并冲突解决方法,网上看的都是一个模板出来的,看的糊里糊涂,花了很多时间去实验整个合并流程.. 前提工作 创建一个普通JAVA工程Test,创建一个类Test,写点东西并加入到本地git库: 创建个develop分支,创建个Develop类,修改Test类的某些语句,添加新代码段,提交: 切换到master分支,创建个Master类,修改Test类的同一部分语句,提交: 以上三条操作不进行详细说明,很简单的. 合并过程 打开git repository