jquery和其他js库的冲突解决方式

问题的原因是$符号已经被其他的js库预先定义了,在jquery中,$失去了原本预定义的含义。

<script language="javascript" type="text/javascript" 
		src="/js/datepicker/WdatePicker.js"></script>
<script src="/js/jquery.js" type="text/javascript"></script>
<script language="JavaScript" type="text/JavaScript">
jQuery.noConflict();
</script>

运行这个函数将变量$的控制权让渡给第一个实现它的那个库。

这有助于确保jQuery不会与其他库的$对象发生冲突。

在运行这个函数后,就只能使用jQuery变量访问jQuery对象。

例如,在要用到$("div p")的地方,就必须换成jQuery("div p")。

注意:这个函数必须在你导入jQuery文件之后,并且在导入另一个导致冲突的库之前使用。

当然也应当在其他冲突的库被使用之前,除非jQuery是最后一个导入的。

jQuery.noConflict();
// 使用 jQuery
jQuery("div p").hide();
// 使用其他库的 $()
$("content").style.display = 'none';

还有一种写法,创建一个新的别名用以在接下来的库中使用jQuery对象:

var j = jQuery.noConflict();
// 基于 jQuery 的代码
j("div p").hide();
// 基于其他库的 $() 代码
$("content").style.display = 'none';


 

 

 

 

 

posted @ 2012-11-30 17:02  心意合一  阅读(200)  评论(0编辑  收藏  举报