刚进新的项目组,第一天就遇见一件很郁闷的事儿,头儿让用JQuery弄个提示框,好不容易弄了个JQuery的提示框,在自己的Test页面中,能够正常运行,但是放到项目里怎么也运行不了,使用firebug查看,发现使用$选取不到元素,很是奇怪,检查了一遍页面该引入的都引入了,就是找不到原因所在,研究了2个小时未果,找个人问了下,项目中以前用没用JQuery,答:“没用,但是用了Prototype。可能这两个有冲突,$的含义有所不同吧。”,晕死!!!网上一搜,搜到解决方法,3分钟内搞定,唉,早问就不用这么费劲还要加班了。
方法如下:
1、将jquery.js放到prototype.js后面(这个是必须的否则无论如何还是要地)。
2、在jquery.js后面将$变量重命名。
代码
<script type="text/javascript" type="text/javascript" src="window.js"></script>
<!--上面这个window.js调用了jquery框架的方法-->
<script type="text/javascript" type="text/javascript" src="prototype.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
var jQuery=$;
</script>
3、将原来使用的$方法名一律替换为jQuery名,如$("obj")替换为jQuery("obj")。
注:var jQuery=$;其中jQuery这个名字在不冲突的前提下,是可以按命名规范随便取得。
分享到:
相关推荐
以前好像在哪里看到过说jQuery与prototype存在冲突,但一直没在意。今天把自己用jquery框架写好的消息提示框特效放到公司原来的系统发现所有的消息提示效果都罢工了! 汗了半天还是没有发现原因,突然想到jquery与...
本文实例分析了jQuery prototype冲突的2种解决方法。分享给大家供大家参考,具体如下: jquery和prototype怎么会冲突,归根到底就是因为他们二个都用到了$,同时用,混淆了。这个问题解决过不下5次,每次解决都要查...
Object.prototype.toJSONString) { 这一段代码,然后把里面的内容全部注释掉。(参考:注释掉496-737行) 2.2 加入新的JSON支持方法 function objToJSONString(obj, filter){ return JSON.stringify(obj, filter...
可以用来添加不向外部公开的方法,或者对jQuery的某些方法进行重新定义以提供新功能,或者提供更好的封装、避免名称空间冲突。当然,也可以用来开发插件,但Resig强烈建议在开发插件之前,先考虑jQuery UI widget...
jQuery 使用 $ 符号作为 jQuery 的简介方式。某些其他 JavaScript 库中的函数(比如 Prototype)同样使用 $ 符号。
通常,当在同一个页面上使用jQuery和其他库时,全局名称$的定义是最大的争论和冲突的焦点。众所周知,jQuery使用$作为jQuery名称的别名,并将其用于jQuery公开的每一个功能,但是其他库,最著名的就是Prototype,也...
冲突的原因是jquery给一个object增加了很多元素,那么在Object.prototype.toJSONString = function () 这个函数中 for (k in this) 语句中进行了无数次的循环,导致网页很卡,并且在IE中会报错。 解决方案: 根本...
在使用jQuery开发的时候,可能还会使用到其他的JS库,比如Prototype,但多库共存时可能会发生冲突,下面这篇文章主要给大家介绍了关于jQuery库冲突的完美解决办法,需要的朋友可以参考借鉴,下面来一起看看吧。
学习jQuery 必备的一些代码和方法,相信学习了本文,你可以对jQuery的学习更加容易。...2. 解决jQuery, prototype共存,$全局变量冲突问题: <script src="prototype.js"></script> <script
大概 580行到590行之间 这个句用于格式化json,他重写了object的结构,导致于js框架冲突,如果要解决需要把这段代码注释掉,然后用别的方式替换。 我是将所有用到*.toJSONString的地方,替换成一个函数,例如: /js/...
下面以引入两个库文件 jquery.js和prototype.js为例来进行说明。 第一种情况:jquery.js在prototype.js之后进行引入,如: <</span> script src = ” prototype.js ” type = ” text/javascript ” /> <...
jQuery 使用名为 noConflict() 的方法来解决该问题。 var jq=jQuery.noConflict(),帮助使用自己的名称(比如 jq)来代替 $ 符号。 代码如下: <html> <head> [removed][removed] [removed] var jq=...
在Jquery中,$是JQuery的别名,...下面以引入两个库文件jquery.js和prototype.js为例来进行说明。 第一种情况:jquery.js在prototype.js之后进行引入,如:[removed] <script src=”jquery.js” type=”text/javascr
在Jquery中,$是JQuery的别名,...下面以引入两个库文件jquery.js和prototype.js为例来进行说明。 第一种情况:jquery.js在prototype.js之后进行引入,如: [removed] <script src=”jquery.js” type=”text/javas
10.5 解决jQuery库与其他库的冲突/326 10.5.1 jQuery在其他库前导入/326 10.5.2 jQuery在其他库后导入/328 10.6 使用子查询优化选择器性能/330 10.7 减少对DOM元素直接操作/332 10.8 正确区分DOM对象与jQuery...
为了避免名称冲突,jQuery提供了noConflict()方法来解决这个问题。调用该方法可以把对$标识符的控制权让给其他库。 一般模式: [removed][removed]//1.包含jQuery之外的库(比如Prototype) [removed][removed]//2....
然后,JS插件并非只有JQuery,还有prototype.js 等其它比较好的插件。它们也使用$。所以有时候同时使用这个两个JS插件的时候,就会出现$的使用权冲突问题。现在我们来看看如何解决这个冲突问题。请看下文: 我们都...