首頁  >  文章  >  web前端  >  使用jquery.noConflict()解決jquery庫與其他庫衝突的問題

使用jquery.noConflict()解決jquery庫與其他庫衝突的問題

巴扎黑
巴扎黑原創
2017-06-20 15:16:581753瀏覽

在使用jQuery開發的時候,可能還會使用到其他的JS函式庫,例如Prototype,但多庫共存時可能會發生衝突;若是發生衝突後,可以透過以下幾種方案進行解決:
一、 jQuery函式庫在其他函式庫之前導入,直接使用jQuery(callback)方法如:
100db36a723c770d327fc0aef2ce13b1
a50681aca8d1c1449d41ea0b97da151e
262ed6f0ce84e5a6aa14fa0d4971dff3
4b58d73188ae8dcd27d2649e45727ee72cacc6d41bbb37262a98f745aa00fbf0
0256f9d780b1f7eabfefb00f7ec4235e
7d81a9f80b41381324ea48378153a79f2cacc6d41bbb37262a98f745aa00fbf0
9c3bca370b5104690d9ef395f2c5f8d1
# 6c04bd5ca3fcae76e30b72ad730ca86d
6bb5bdaff7b7e76368797a21c93cf2a5test---prototype94b3e26ee717c64999d7867364b1b4a3
05ff9a9e18a7aecf8acff32163179ec7test---jQuery94b3e26ee717c64999d7867364b1b4a3

#< ;script type="text/javascript">
jQuery(function(){ //直接使用jQuery ,沒有必要呼叫"jQuery.noConflict()"函數
jQuery(" p").click(function(){
       alert( jQuery(this).text() );
});
});

$("pp"). style.display = 'none'; //使用prototype
2cacc6d41bbb37262a98f745aa00fbf0
36cc49f0c466276486e50c850b7e4956
73a6ac4ed44ffec12cee46588e518a5e

二、 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 = &#39;none&#39;; //使用prototype
</script>
//代码二
<script type="text/javascript">
var $j = jQuery.noConflict(); //自定义一个比较短快捷方式
$j(function(){ //使用jQuery
       $j("p").click(function(){
       alert( $j(this).text() );
       });
});
$("pp").style.display = &#39;none&#39;; //使用prototype
</script>
//代码三
<script type="text/javascript">
jQuery.noConflict(); //将变量$的控制权让渡给prototype.js
jQuery(function($){ //使用jQuery
       $("p").click(function(){ //继续使用 $ 方法
       alert( $(this).text() );
       });
});
$("pp").style.display = &#39;none&#39;; //使用prototype
</script>
//代码四
<script type="text/javascript">
jQuery.noConflict(); //将变量$的控制权让渡给prototype.js
(function($){ //定义匿名函数并设置形参为$
       $(function(){ //匿名函数内部的$均为jQuery
              $("p").click(function(){ //继续使用 $ 方法
                     alert($(this).text());
              });
       });
})(jQuery); //执行匿名函数且传递实参jQuery
$("pp").style.display = &#39;none&#39;; //使用prototype
/*********************************************************************/
jQuery(document).ready(function(){ //一加载页面的时候就将权利让出去 
       jQuery.noConflict(); 
});
</script>

以上是使用jquery.noConflict()解決jquery庫與其他庫衝突的問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn