jQuery与其他库冲突的解决方法
在使用jQuery开发的时候,可能还会使用到其他的JS库,比如Prototype,但多库共存时可能会发生冲突;若是发生冲突后,可以通过以下几种方案进行解决:
一、 jQuery库在其他库之前导入,直接使用jQuery(callback)方法如:
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <!--先导入jQuery -->
- <script src="../../scripts/jquery-1.3.1.js" type="text/javascript"></script>
- <!--后导入其他库 -->
- <script src="prototype-1.6.0.3.js" type="text/javascript"></script>
- </head>
- <body>
- <p id="pp">test---prototype</p>
- <p >test---jQuery</p>
- <script type="text/javascript">
- jQuery(function(){ //直接使用 jQuery ,没有必要调用"jQuery.noConflict()"函数。
- jQuery("p").click(function(){
- alert( jQuery(this).text() );
- });
- });
- $("pp").style.display = 'none'; //使用prototype
- </script>
- </body>
- </html>
二、 jQuery库在其他库之后导入,使用jQuery.noConflict()方法将变量$的控制权让渡给其他库,有以下几种方式:
- <script type="text/javascript">
- jQuery.noConflict(); //将变量$的控制权让渡给prototype.js
- jQuery(function(){ //使用jQuery
- jQuery("p").click(function(){
- alert( jQuery(this).text() );
- });
- });
- $("pp").style.display = 'none'; //使用prototype
- </script>
- //代码二
- <script type="text/javascript">
- var $j = jQuery.noConflict(); //自定义一个比较短快捷方式
- $j(function(){ //使用jQuery
- $j("p").click(function(){
- alert( $j(this).text() );
- });
- });
- $("pp").style.display = 'none'; //使用prototype
- </script>
- //代码三
- <script type="text/javascript">
- jQuery.noConflict(); //将变量$的控制权让渡给prototype.js
- jQuery(function($){ //使用jQuery
- $("p").click(function(){ //继续使用 $ 方法
- alert( $(this).text() );
- });
- });
- $("pp").style.display = 'none'; //使用prototype
- </script>
- //代码四
- <script type="text/javascript">
- jQuery.noConflict(); //将变量$的控制权让渡给prototype.js
- (function($){ //定义匿名函数并设置形参为$
- $(function(){ //匿名函数内部的$均为jQuery
- $("p").click(function(){ //继续使用 $ 方法
- alert($(this).text());
- });
- });
- })(jQuery); //执行匿名函数且传递实参jQuery
- $("pp").style.display = 'none'; //使用prototype
- </script>
-
相关推荐
EdwardSiCong 2020-11-23
85477104 2020-11-17
hhanbj 2020-11-17
81427005 2020-11-11
seoppt 2020-09-13
honeyth 2020-09-13
WRITEFORSHARE 2020-09-13
84483065 2020-09-11
momode 2020-09-11
85477104 2020-08-15
83510998 2020-08-08
82550495 2020-08-03
tthappyer 2020-08-03
84901334 2020-07-28
tthappyer 2020-07-25
TONIYH 2020-07-22
tztzyzyz 2020-07-20
83510998 2020-07-18
81463166 2020-07-17