jQuery noConflict() 메서드

jQuery와 다른 프레임워크를 페이지에서 동시에 사용하는 방법은 무엇인가요?

jQuery와 다른 JavaScript 프레임워크

이제 알고 계신 것처럼, jQuery는 $ 기호를 jQuery의 약자로 사용합니다.

그렇다면 다른 JavaScript 프레임워크도 $ 식별자를 단축으로 사용하는 경우 어떻게 합니까?

다른 JavaScript 프레임워크로는 MooTools, Backbone, Sammy, Cappuccino, Knockout, JavaScript MVC, Google Web Toolkit, Google Closure, Ember, Batman 및 Ext JS가 있습니다.

일부 프레임워크는 $ 식별자를 단축으로 사용합니다(예: jQuery와 같이), 두 가지 다른 프레임워크가 같은 단축 식별자를 사용하는 경우 스크립트가 실행되지 않을 수 있습니다.

jQuery 팀은 이 문제를 고려하고 noConflict() 메서드를 구현했습니다.

jQuery noConflict() 메서드

noConflict() 메서드는 $ 식별자에 대한 제어를 해제하여, 다른 스크립트가 사용할 수 있게 합니다.

예제

물론, 전체 이름으로 단축을 대체하여 jQuery를 사용할 수도 있습니다:

$.noConflict();
jQuery(document).ready(function(){
  jQuery("button").click(function(){
    jQuery("p").text("jQuery 仍在运行!");
  });
});

직접 시도해 보세요

예제

당신은 자신의 단축을 만들 수도 있습니다. noConflict()는 jQuery에 대한 참조를 반환하며, 이를 변수에 저장하여 나중에 사용할 수 있습니다. 다음 예제를 보세요:

var jq = $.noConflict();
jq(document).ready(function(){
  jq("button").click(function(){
    jq("p").text("jQuery 仍在运行!");
  });
});

직접 시도해 보세요

예제

如果你的 jQuery 코드 블록이 $ 단축 사용하고, 이 단축을 변경하지 않기를 원한다면, $ 기호를 변수로 전달할 수 있습니다. 이렇게 하면 함수 내에서 $ 기호를 사용할 수 있으며 - 함수 외에서는 여전히 "jQuery"를 사용해야 합니다:

$.noConflict();
jQuery(document).ready(function($){
  $("button").click(function(){
    $("p").text("jQuery 仍在运行!");
  });
});

직접 시도해 보세요

jQuery 핵심 참조 매뉴얼

jQuery 핵심 메서드 전체 개요를 보려면, 우리의 jQuery 핵심 참조 매뉴얼