jQuery中的jQuery.noConflict()函数说明
在jQuery库中,几乎所有的插件都被限制在它的命名空间里,通常全局对象都被很好的储存在jQuery的命名空间里,当jQuery与其它的JavaSscript库使用时不会引起冲突
一般情况下jQuery中用“”号作为自身的快捷方式,但我们也可以把这个控制权转交给其它库
JQuery在其它库之后引入
jQuery移交快捷方式jQuery.noConflict()
在其它javascript库引入完成后,再引入jQuery库,我们可以利用jQuery库中自带的jQery.noConflict()函数把变量“$”的控制权交给其它JAVASCRIPT库。
示例代码:
jQuery.noConflict();//将变量$交给其他库jQuery(function(){ //使用JQuery jQuery("p").click(function(){ //还里不能再使用$()方法 alert();//操作代码 })});
jQuery自定义快捷方式jQuery.noConflict()
示例代码:
$jq = jQuery.noConflict();//自定义快捷方式&方法$jq(function(){ $jq("p").click(function(){ alert();//操作代码 })});
第三种情况
我们把"$"转让给别的库,但又想使用“$”和$()方法,又不想与其它库冲突!
示例代码1:
jQuery.noConflict(); //将变量$交给其他库jQuery(function($){ //利用jQuery设定加载的函数 $("p").click(function(){ //还是使用$()方法 alert(); })});
示例代码2:
jQuery.noConflict(); //将变量$交给其他库(function($){//定义匿名函数并设置$ $(function(){//函数内部$都可作为jQuery $("p").click(function(){ alert();//操作代码 }); });})(jQuery);//利用jQuery执行函数
jQuery在其它库之前引入
jQuery在其它库之前被引入的话,我们不需要使用jQuery.noConflist()函数,直接使用jQuery来作一些关于jQuery的工作,其$()方法也被其它库占用,我们不能再次使用
示例代码:
jQuery(function(){ //使用JQuery jQuery("p").click(function(){ //还里不能再使用$()方法 alert();//操作代码 })});
利用jQuery中的jQuery.noConflict()函数,我们可以放心大胆的让jQuery与其它库共同使用,而不用担心其它们中是否存在调用冲突的问题!