jQuery - noContribute() 메소드
jQuery - noConflect() 메소드
페이지에서 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 팀은 이 문제를 고려하여 noContribute() 메서드를 구현했습니다.
jQuery noContribute() 메서드
noContric() 메서드는 $ 식별자에 대한 제어를 해제하여 다른 스크립트에서 사용할 수 있도록 합니다.
물론 약어의 전체 이름을 대체하여 jQuery를 계속 사용할 수 있습니다.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"> </script> <script> $.noConflict(); jQuery(document).ready(function(){ jQuery("button").click(function(){ jQuery("p").text("恭喜发财!"); }); }); </script> </head> <body> <p>我要变身了!</p> <button>点我有惊喜哦</button> </body> </html>
자신만의 약어를 만들 수도 있습니다. noConflect()는 나중에 사용하기 위해 변수에 저장할 수 있는 jQuery에 대한 참조를 반환합니다. 다음 예를 살펴보십시오.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"> </script> <script> var jq=$.noConflict(); jq(document).ready(function(){ jq("button").click(function(){ jq("p").text("哪来这么多惊喜,好好学习了!"); }); }); </script> </head> <body> <p>我要变身了!</p> <button>点我有惊喜哦</button> </body> </html>
jQuery 코드 블록이 $ 단축키를 사용하고 이 단축키를 변경하고 싶지 않은 경우 $ 기호를 Ready 메소드에 변수로 전달할 수 있습니다. 이 방법으로 함수 내부에서 $ 기호를 사용할 수 있지만 함수 외부에서는 여전히 "jQuery"를 사용해야 합니다.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"> </script> <script> $.noConflict(); jQuery(document).ready(function($){ $("button").click(function(){ $("p").text("学习要努力,持之以恒!"); }); }); </script> </head> <body> <p>真的有惊喜,试试</p> <button>点我点我</button> </body> </html>