jQuery.noConflict () 방법 - jquery 라이브러리와 다른 라이브러리의 충돌 문제 해결

10023 단어 jquery
jQuery 개발을 사용할 때 다른 JS 라이브러리, 예를 들어Prototype을 사용할 수 있지만 다중 라이브러리가 공존할 때 충돌이 발생할 수 있습니다.충돌이 발생하면 jQuery를 통과할 수 있습니다.noConflict() 방법으로 해결
정의 및 사용
noConflict () 방법은 변수 $의 jQuery 제어권을 양도합니다.
이 방법은 $변수에 대한 jQuery 제어를 해제합니다.
이 방법은 jQuery 변수에 새 사용자 정의 이름을 지정하는 데도 사용할 수 있습니다.
팁: 이 메서드는 다른 JavaScript 라이브러리에서 함수에 $을(를) 사용할 때 유용합니다.
구문
jQuery.noConflict(removeAll)

매개 변수
묘사
removeAll
부울 값.jQuery 변수를 완전히 복원할 수 있는지 여부를 표시합니다.
설명
많은 JavaScript 라이브러리에서 $를 함수나 변수 이름으로 사용하는데, jQuery도 마찬가지다.jQuery에서 $는 단지 jQuery의 별명일 뿐이므로 $를 사용하지 않아도 모든 기능성을 보장할 수 있습니다.만약 우리가 jQuery 이외의 다른 자바스크립트 라이브러리를 사용해야 한다면, 우리는 $를 호출할 수 있습니다.noConflict()가 라이브러리에 제어권을 반환합니다.
1. jQuery 라이브러리는 다른 라이브러리에 가져오기 전에 jQuery(callback) 방법을 사용합니다.
<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<!--   jQuery -->

<script src="http://www.cnblogs.com/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>

2. 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



/*********************************************************************/

jQuery(document).ready(function(){ //                   

       jQuery.noConflict(); 

});

</script>

좋은 웹페이지 즐겨찾기