首页 » 工作 » 正文

解决办法:jQuery与其他JS库冲突

发布者:站点默认
2011/12/6 浏览数(2,622) 分类:工作 评论(1)

说明:

现在的js库很多,如YUI,DWR什么的。但是它们却时不时地相互闹些 小矛盾,常见的原因是它们定义的全局对象冲突了,特别是变量“$”,几乎百分之百要中招。以下提供两个解决办法:

办法一:

重载$函数。使用jQuery.noConflict()就可以通过重载$函数,从而区分开跟其他js库的重叠部分。例子:

<script src="prototype.js"></script>
<script src="jquery.js"></script>
<script>
	// 重载jQuery的“$”函数
	// 注意要在载入完各js库后才能用jQuery.noConflict()进行重载
	jQuery.noConflict();
	// 使用“jquery”来代替jQuery中的“$”
	jQuery(document).ready(function(){
	//jQuery(document).ready(function($){ // 用这行内部依旧可以“$” 
		jQuery("div").hide();
	});
	// 让prototype使用“$”
	$('someid').style.display = 'none';
</script>

办法二:

让jQuery使用另外的名字空间。让jQuery不使用其默认的名字空间,比如使用 $j() 而不是 jQuery() 。代码:

var $j = jQuery.noConflict();
$j(document).ready(function(){
	$j("div").hide();
});

<完>

点击返回顶部
  1. 留言
  2. 联系方式