JS冲突解决方法

Prototype   jquery 冲突解决:

 

在页面中同时存在jquery 和 prototype ,当用到 $ 的时候,难免产生冲突,所以一定要区分开来:

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

这样做了以后,在用到jquery 的地方用 j 来替代 $ 符号,而 prototype 的 $ 函数照常使用,当然其实也不用定义“ j= $; ” ,在用到 jquery 的地方直接用 jQuery 来替代 $ 符号也一样的。

 

还有一个冲突网上找到的: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(); 
        });     
     </script>

 

-----

我的采用方法一:

页面js ,先引入 jquery , head 里面用到的先替换;然后再引入 Prototype  ; 






原文地址:https://www.cnblogs.com/doit8791/p/5683006.html