jQuery - noConflict() 메서드


jQuery를 계속 사용하면서 페이지에서 다른 프레임워크를 사용하려면 어떻게 해야 합니까?


jQuery 및 기타 JavaScript 프레임워크

이미 알고 있듯이; jQuery는 $기호를 jQuery의 바로 가기로 사용합니다.

Angular, Backbone, Ember, Knockout 등과 같은 널리 사용되는 JavaScript 프레임워크가 많이 있습니다.

다른 JavaScript 프레임워크에서도 $ 기호를 바로 가기로 사용하면 어떻게 될까요?

두 개의 다른 프레임워크가 동일한 바로 가기를 사용하는 경우 그 중 하나가 작동을 멈출 수 있습니다.

jQuery 팀은 이미 이에 대해 생각하고 noConflict()메서드를 구현했습니다.


jQuery noConflict() 메서드

noConflict()메서드는 다른 스크립트에서 사용할 수 있도록 $ 바로 가기 식별자에 대한 보류를 해제합니다.

물론 바로 가기 대신 전체 이름을 쓰기만 하면 jQuery를 계속 사용할 수 있습니다.

예시

$.noConflict();
jQuery(document).ready(function(){
  jQuery("button").click(function(){
    jQuery("p").text("jQuery is still working!");
  });
});

당신은 또한 매우 쉽게 자신의 바로 가기를 만들 수 있습니다. noConflict()메서드는 나중에 사용할 수 있도록 변수에 저장할 수 있는 jQuery에 대한 참조를 반환합니다. 다음은 예입니다.

예시

var jq = $.noConflict();
jq(document).ready(function(){
  jq("button").click(function(){
    jq("p").text("jQuery is still working!");
  });
});

바로 가기 를 사용하는 jQuery 코드 블록이 $있고 모두 변경하고 싶지 않다면 $로그인을 ready 메소드에 매개변수로 전달할 수 있습니다. $이렇게 하면 이 함수 내부에서 를 사용하여 jQuery에 액세스할 수 있습니다 . 외부에서는 "jQuery"를 사용해야 합니다.

예시

$.noConflict();
jQuery(document).ready(function($){
  $("button").click(function(){
    $("p").text("jQuery is still working!");
  });
});

jQuery 기타 참조

모든 jQuery 기타 방법에 대한 전체 개요를 보려면 jQuery 기타 참조 로 이동하십시오 .