jQuery命名冲突解决的五种方案

引言:

创新互联公司专注于网站建设,为客户提供成都网站设计、网站制作、网页设计开发服务,多年建网站服务经验,各类网站都可以开发,成都品牌网站建设,公司官网,公司展示网站,网站设计,建网站费用,建网站多少钱,价格优惠,收费合理。

最近遇到个问题,同时引用了jquery库和另外一个js库。当用$XX去调用js库函数时,发现失效了!于是找资料,原来是jquery命名冲突了。因为许多JavaScript 库使用$作为函数或变量名,jquery也一样。其实$只是jquery的一个别名而已,假如我们需要使用jquery 之外的另一js库,我们可以通过调用 $.noConflict() 向该库返回控制权。下面是收集到解决这一问题的五种方案,总有一种你会用得上的。

例一:

 
 
 
  1.  
  2.  
  3.  
  4.  
  5. 冲突解决1 
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12. test---prototype

     
  13. test---jQuery

     
  14.  
  15.  
  16. jQuery.noConflict();                //将变量$的控制权让渡给prototype.js  
  17. jQuery(function(){                    //使用jQuery  
  18.     jQuery("p").click(function(){  
  19.         alert( jQuery(this).text() );  
  20.     });  
  21. });  
  22.  
  23. $("pp").style.display = 'none';        //使用prototype  
  24.  
  25.  
  26.  
  27.  

例二:

 
 
 
  1.  
  2.  
  3.  
  4.  
  5. 冲突解决2 
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12. test---prototype

     
  13. test---jQuery

     
  14.  
  15.  
  16. var $j = jQuery.noConflict();        //自定义一个比较短快捷方式  
  17. $j(function(){                        //使用jQuery  
  18.     $j("p").click(function(){  
  19.         alert( $j(this).text() );  
  20.     });  
  21. });  
  22.  
  23. $("pp").style.display = 'none';        //使用prototype  
  24.  
  25.  
  26.  

例三:

 
 
 
  1.  
  2.  
  3.  
  4.  
  5. 冲突解决3 
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12. test---prototype

     
  13. test---jQuery

     
  14.  
  15.  
  16. jQuery.noConflict();                //将变量$的控制权让渡给prototype.js  
  17. jQuery(function($){                    //使用jQuery  
  18.     $("p").click(function(){        //继续使用 $ 方法  
  19.         alert( $(this).text() );  
  20.     });  
  21. });  
  22.  
  23. $("pp").style.display = 'none';        //使用prototype  
  24.  
  25.  
  26.  
  27.  

例四:

 
 
 
  1.  
  2.  
  3.  
  4.  
  5. 冲突解决4 
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12. test---prototype

     
  13. test---jQuery

     
  14.  
  15.  
  16. jQuery.noConflict();                //将变量$的控制权让渡给prototype.js  
  17. (function($){                        //定义匿名函数并设置形参为$  
  18.     $(function(){                    //匿名函数内部的$均为jQuery  
  19.         $("p").click(function(){    //继续使用 $ 方法  
  20.             alert($(this).text());  
  21.         });  
  22.     });  
  23. })(jQuery);                            //执行匿名函数且传递实参jQuery  
  24.  
  25. $("pp").style.display = 'none';        //使用prototype  
  26.  
  27.  
  28.  
  29.  

例五:

 
 
 
  1.  
  2.  
  3.  
  4.  
  5. 冲突解决5 
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12. test---prototype

     
  13. test---jQuery

     
  14.  
  15.  
  16. jQuery(function(){   //直接使用 jQuery ,没有必要调用"jQuery.noConflict()"函数。  
  17.     jQuery("p").click(function(){        
  18.         alert( jQuery(this).text() );  
  19.     });  
  20. });  
  21.  
  22. $("pp").style.display = 'none'; //使用prototype  
  23.  
  24.  
  25.  

下载地址:http://down.51cto.com/data/359023

网页题目:jQuery命名冲突解决的五种方案
网站网址:http://www.shufengxianlan.com/qtweb/news42/242992.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联