同一个网页怎么使用多个js文件且不发生冲突,还有如果多个js发生冲突应当怎样修改js文件?
例如:http://code.jquery.com/jquery-1.6.4.min.js和http://www.verysource.com/code/3228602_...
例如:http://code.jquery.com/jquery-1.6.4.min.js和http://www.verysource.com/code/3228602_1/mootools.r420.js.html
展开
1个回答
展开全部
会发生冲突 的情况 是引用两个不同JS库
如果发生了
则以下的几个方法
在页面中同时存在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>
如果发生了
则以下的几个方法
在页面中同时存在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>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询