JQuery与Prototype冲突解决方法
刚进新的项目组,第一天就遇见一件很郁闷的事儿,头儿让用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>
<!--上面这个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这个名字在不冲突的前提下,是可以按命名规范随便取得。