返回首页
当前位置: 主页 > AJAX >

jQuery与prototype(ajaxpro)冲突的解决方法

时间:2010-07-20 22:39来源:未知 作者:admin 点击:

现在公司的项目啥都要使用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中已经不复存在。

(责任编辑:admin)
[返回顶部]
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名:密码: 验证码:点击我更换图片
推荐内容