이미 알고 있듯이 jQuery는 $ 기호를 jQuery의 약어로 사용합니다.
다른 JavaScript 프레임워크에서도 $ 기호를 약칭으로 사용한다면 어떻게 될까요?
다른 JavaScript 프레임워크에는 MooTools, Backbone, Sammy, Cappuccino, Knockout, JavaScript MVC, Google Web Toolkit, Google Closure, Ember, Batman 및 Ext JS가 포함됩니다.
이러한 프레임워크 중 일부는 $ 기호를 단축 기호로 사용합니다(jQuery와 마찬가지로). 동일한 단축 기호를 사용하는 두 개의 서로 다른 프레임워크를 사용하는 경우 스크립트 실행이 중지될 수 있습니다.
jQuery 팀은 이 문제를 고려하여 noContribute() 메서드를 구현했습니다.
jQuery noContribute() 메서드
noContric() 메서드는 $ 식별자에 대한 제어를 해제하여 다른 스크립트에서 사용할 수 있도록 합니다.
물론 약어의 전체 이름을 대체하여 jQuery를 계속 사용할 수 있습니다.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="http://cdn.static.runoob.com/libs/jquery/1.10.2/jquery.min.js"> </script> <script> $.noConflict(); jQuery(document).ready(function(){ jQuery("button").click(function(){ jQuery("p").text("jQuery 仍然在工作!"); }); }); </script> </head> <body> <p>这是一个段落。</p> <button>点我</button> </body> </html>
자신만의 약어를 만들 수도 있습니다. noConflect()는 나중에 사용하기 위해 변수에 저장할 수 있는 jQuery에 대한 참조를 반환합니다. 다음 예를 살펴보십시오.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="http://cdn.static.runoob.com/libs/jquery/1.10.2/jquery.min.js"> </script> <script> var jq=$.noConflict(); jq(document).ready(function(){ jq("button").click(function(){ jq("p").text("jQuery 仍然在工作!"); }); }); </script> </head> <body> <p>这是一个段落。</p> <button>点我</button> </body> </html>
jQuery 코드 블록이 $ 단축키를 사용하고 이 단축키를 변경하고 싶지 않은 경우 $ 기호를 Ready 메소드에 변수로 전달할 수 있습니다. 이런 방식으로 함수 내부에서 $ 기호를 사용할 수 있지만 함수 외부에서는 여전히 "jQuery"를 사용해야 합니다.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="http://cdn.static.runoob.com/libs/jquery/1.10.2/jquery.min.js"> </script> <script> $.noConflict(); jQuery(document).ready(function($){ $("button").click(function(){ $("p").text("jQuery 仍然在工作!"); }); }); </script> </head> <body> <p>这是一个段落。</p> <button>点我</button> </body> </html>
실제 개발에서는:
이 함수를 실행하여 $ 변수의 제어를 첫 번째로 전달합니다. 그것을 구현하는 사람 그 라이브러리.
이는 jQuery가 다른 라이브러리의 $ 개체와 충돌하지 않도록 하는 데 도움이 됩니다.
<script type="text/javascript" src="/javascripts/jquery.js"></script> <script type="text/javascript"> var j$ = $; jQuery.noConflict(); </script> <script type="text/javascript" src="/javascripts/prototype.js" ></script>
이 함수를 실행한 후에는 jQuery 변수를 통해서만 jQuery 개체에 액세스할 수 있습니다. 예를 들어, $("div p")가 사용되는 경우 j$("div p")로 바꿔야 합니다.
참고: 이 함수는 jQuery 파일을 가져온 후 충돌을 일으키는 다른 라이브러리를 가져오기 전에 사용해야 합니다. 물론 jQuery를 마지막으로 가져오지 않는 한 충돌하는 다른 라이브러리를 사용하기 전에도 수행해야 합니다.
사용 방법 1:
jQuery.noConflict(); // 使用 jQuery j$("div p").hide(); // 使用其他库的 $() $("content").style.display = 'none';
사용 방법 2:
//我的一个站点 viqiwu.com var viqiwu = jQuery.noConflict(); // 基于 jQuery 的代码 viqiwu("div p").hide(); // 基于其他库的 $() 代码 $("content").style.display = 'none';
그러므로 JQuery와 다른 JS 프레임워크 간의 충돌을 걱정할 필요가 없습니다.
위 내용은 noContribute()에 대한 기본지식을 자세하게 소개하고 실제 개발에서의 사용법을 자세히 설명합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!