jQuery의 noConflict () 방법

5582 단어 jquery
jQuery 핵심 - noConflict () 방법, 이 함수를 실행하면 변수 $의 제어권을 첫 번째로 실행하는 라이브러리에 양도합니다.이것은 jQuery가 다른 라이브러리의 $대상과 충돌하지 않도록 하는 데 도움이 됩니다.
noConflict() 메소드 소스:
noConflict: function( deep ) {

        if ( window.$ === jQuery ) {

            window.$ = _$;

        }



        if ( deep && window.jQuery === jQuery ) {

            window.jQuery = _jQuery;

        }



        return jQuery;

    },

 
정의 및 사용 1.noConflict () 방법은 변수 $의 jQuery 제어권을 양도합니다.    2.이 방법은 $변수에 대한 jQuery 제어를 해제합니다.    3.이 방법은 jQuery 변수에 새 사용자 정의 이름을 지정하는 데도 사용할 수 있습니다.팁: 이 메서드는 다른 JavaScript 라이브러리에서 함수에 $을(를) 사용할 때 유용합니다.
문법 jQuery.noConflict(removeAll) 매개변수:removeAll 부울 값.jQuery 변수를 완전히 복원할 수 있는지 여부를 표시합니다.
 
왜 이 방법을 써야 합니까?
많은 JavaScript 라이브러리에서 $를 함수나 변수 이름으로 사용하는데, jQuery도 마찬가지다.jQuery에서 $는 단지 jQuery의 별명일 뿐이므로 $를 사용하지 않아도 모든 기능성을 보장할 수 있습니다.만약 우리가 jQuery 이외의 다른 자바스크립트 라이브러리를 사용해야 한다면, 우리는 $를 호출할 수 있습니다.noConflict()가 라이브러리에 제어권을 반환합니다.
<script type="text/javascript" src="other_lib.js"></script>

<script type="text/javascript" src="jquery.js"></script>

<script type="text/javascript">

    $.noConflict();

    //         $    

</script>

할 수 있다.ready () 방법을 결합하여 jQuery 대상에 별명을 짓는 이 기술은 매우 효과적이다.
<script type="text/javascript" src="other_lib.js"></script>

<script type="text/javascript" src="jquery.js"></script>

<script type="text/javascript">

    $.noConflict();

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

    //    jQuery $    

    });

    //        $    

</script>

또한 이 방법으로 매개 변수true를 전달함으로써 $와 jQuery의 제어권을 원래의 라이브러리에 돌려줄 수 있습니다.사용하기 전에 잘 생각해 보세요!이것은 간단한 noConflict 방법보다 극단적인 버전입니다. 이것은 jQuery를 완전히 다시 정의하기 때문입니다.이것은 보통 극단적인 상황에 사용됩니다. 예를 들어 jQuery를 고도로 충돌하는 환경에 끼워 넣으려고 하는 경우입니다.
주의: 이 방법을 사용하면 플러그인이 효력을 잃을 수 있습니다.
다음은 noConflict() 방법의 사용을 몇 가지 예로 보여 줍니다.
예 1: $참조된 객체를 원래 객체에 매핑합니다.
jQuery.noConflict();



jQuery("div p").hide();    //    jQuery



$("content").style.display = "none";    //        $()

예시 2: 별명 $을 사용한 다음 함수를 만들고 실행합니다. 이 함수의 역할 영역에서 $를 jQuery의 별명으로 사용합니다.이 함수에서 원래의 $대상은 무효입니다.이 함수는 다른 라이브러리에 의존하지 않는 대부분의 플러그인에 유효합니다.
jQuery.noConflict();



(function($) { 

  $(function() {

    //    $    jQuery      

  });

})(jQuery);



... //     $          

예 3: jQuery.noConflict()는 간단한 ready와 결합하여 코드를 더욱 촘촘하게 만듭니다.
jQuery.noConflict()(function(){

    //    jQuery    

});



... //       $       

예 4: 다음 라이브러리에서 jQuery 객체를 사용할 새 별칭을 만듭니다.
var j = jQuery.noConflict();



j("div p").hide();    //    jQuery    



$("content").style.display = "none";    //        $()   

예 5: jQuery를 새 네임스페이스로 완전히 이동하려면 다음과 같이 하십시오.
var dom = {};

dom.query = jQuery.noConflict(true);

결과:
dom.query("div p").hide();    //   jQuery    



$("content").style.display = "none";    //      $()    



jQuery("div > p").hide();    //       jQuery    

좋은 웹페이지 즐겨찾기