js 引入juery.js 和Prototype.js冲突解决($,$F)
在页面中同时存在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 来替代 $ 符号也一样的。
$("") 改成jQuery(""); $ 改成 j
我的js包引用方法:
head标签里添加jquery.js, prototype .js放到底部去应用,还有需要强调的一点就是j=$这个js代码jquery.js尽量放在所有js包的最上面,因为后面的js包可能会引用到jquery包,如果不这样做的,会导致后面的js包属性和方法不支持
还有一个冲突网上找到的: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>
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。