jQuery与prototype(ajaxpro)冲突的解决方法
2009-06-04 11:36
477 查看
现在公司的项目啥都要使用ajaxpro来实现无刷新,而我又很习惯使用jquery和ext来实现ajax,暂且不讨论这个.今天说一下在使用jquery与ajaxpro冲突的问题现象以及解决方法.
ajaxpro使用了prototype框架,所以,此问题同样适用于prototyp.
问题主要有二:
1、window.$的对象的冲突。
the function $ in prototype frame only for get a dom element by id。
比起jquery中的$来远远不及。所以在使用jquery中的$时,就会被prototype的$给困惑。
不过还好,jquery已经提供了不同的方法来达到相同的效果。我不使用$直接使用jQuery来获取就OK了,或者我在引用jquery之后,并且在引用prototype之前马上给$赋给另外一个变量。如:window.g = window.$.之后,我就可以使用g()来实现$的效果,至于$就让给prototype去用吧。
2、Array.prototype.push方法冲突。
这个冲突很严重,直接导致jQuery的级联筛选无效。比如正常情况下,你可以使用$("span",$("#main"))来获取ID为main的元素下面的span元素。但如果页面中同时使用了prototype框架相关,那抱歉的很,你永远获取不到了。原因你可以调试跟踪自己查看jQuery的源代码。
解决方法:
<script type="text/javascript">
var fnArrayPush = Array.prototype.push;
$().ready(function(){
Array.prototype.push = fnArrayPush;
init();
});
</
另外,提一下,网上他们说的:jQuery.noConflict();在最新的jQuery1.32中已经不复存在。
ajaxpro使用了prototype框架,所以,此问题同样适用于prototyp.
问题主要有二:
1、window.$的对象的冲突。
the function $ in prototype frame only for get a dom element by id。
比起jquery中的$来远远不及。所以在使用jquery中的$时,就会被prototype的$给困惑。
不过还好,jquery已经提供了不同的方法来达到相同的效果。我不使用$直接使用jQuery来获取就OK了,或者我在引用jquery之后,并且在引用prototype之前马上给$赋给另外一个变量。如:window.g = window.$.之后,我就可以使用g()来实现$的效果,至于$就让给prototype去用吧。
2、Array.prototype.push方法冲突。
这个冲突很严重,直接导致jQuery的级联筛选无效。比如正常情况下,你可以使用$("span",$("#main"))来获取ID为main的元素下面的span元素。但如果页面中同时使用了prototype框架相关,那抱歉的很,你永远获取不到了。原因你可以调试跟踪自己查看jQuery的源代码。
解决方法:
<script type="text/javascript">
var fnArrayPush = Array.prototype.push;
$().ready(function(){
Array.prototype.push = fnArrayPush;
init();
});
</
另外,提一下,网上他们说的:jQuery.noConflict();在最新的jQuery1.32中已经不复存在。
相关文章推荐
- 找到了一篇jQuery与Prototype并存的冲突的解决方法
- prototype.js与jquery共存的方法/冲突解决方法
- Prototype与jQuery冲突|兼容性问题解决方法
- 找到了一篇jQuery与Prototype并存的冲突的解决方法
- 同时调用prototype与jquery冲突解决方法
- jQuery和Prototype的兼容性和冲突的多种解决方法
- jQuery和Prototype的兼容性和冲突的五种解决方法
- jQuery和Prototype的兼容性和冲突的五种解决方法
- prototype和jquery冲突 解决方法
- jQuery和Prototype的兼容性和冲突的解决方法
- jQuery和Prototype的兼容性和冲突的五种解决方法
- prototype.js 和jquery-1.6.2.js冲突问题解决方法
- jQuery和Prototype的兼容性和冲突的五种解决方法
- Prototype与jQuery冲突|兼容性问题解决方法
- JQuery与Prototype冲突解决方法
- JQuery的Ajax中Post方法传递中文出现乱码的解决方法
- jquery 重写 ajax提交并判断权限后 使用load方法报错解决方法
- MVC5 新建项目里不包含jquery.unobtrusive-ajax.js(MVC5异步表单的问题)解决方法
- 解决jquery和mootools冲突的方法
- jQuery自定义添加"$"与解决"$"冲突的方法