jQuery와Prototype의 호환성과 충돌에 대한 다섯 가지 해결 방법

2268 단어 JavascriptJquery
첫 번째 상황: 프로토타입을 불러오고 jQuery를 불러오는 방법 1: jQuery 라이브러리와 모든 플러그인은 jQuery 이름 공간에 있습니다. 전역 변수를 포함하여 jQuery 이름 공간에 저장됩니다.
jQuery를 사용합니다.noConflict();주요 역할은 언제든지 jQuery를 불러오면 호출할 수 있고 $기호의 사용권을 다른 js 라이브러리에 되돌려줍니다. jQuery는 자신의 이름 공간을 만들 때 다른 라이브러리의 $를 변수에 저장합니다.





//  js          $   ,              
jQuery.noConflict();

//    jQuery     $  jQuery  
jQuery(document).ready(function (){
jQuery("div").hide();
});

// Use Prototype with $(...), etc.
$('proto').hide();




방법2: $와 같은 짧은 문자를 사용하고 싶다면 jQuery를 사용하십시오.noConflict()의 반환 값은 변수에 값을 지정합니다.이 변수는 jQuery의 새 줄임말입니다. 물론 $이외의 임의의 문자열을 사용할 수 있습니다. 예를 들어:





//$j    jQuery,         
var  $j = jQuery.noConflict();

// Use jQuery via $j(...)
$j(document).ready(function (){
$j("div").hide();
});

// Use Prototype with $(...), etc.
$('proto').hide();




방법3: $를 사용하고 싶지만 다른 문자를 사용하고 싶지 않아도 된다.그리고 보통 프로그래머들은 이렇게 하는 것을 좋아한다. 왜냐하면 이렇게 쓴 코드는 원래의 $기호를 거의 바꾸지 않기 때문이다.그것은 이름 공간의 개념을 이용하여 모든 jQuery 코드를 문서의ready 이벤트 이름 공간 범위에 봉인하는 것이다. 예를 들어: jQuery (document).ready (jQuery 코드 입력)





jQuery.noConflict();

// Put all your code in your document ready area
jQuery(document).ready(function ($){
//                $       
$("div" ).hide();
});

// Use Prototype with $(...), etc.
$('proto' ).hide();




두 번째 경우: 먼저 jQuery를 불러오고 Prototype을 불러옵니다
이 순서대로 불러오면 다른 js 라이브러리의 $기호가 jQuery에 의해 점용되는 문제가 없습니다.따라서 다른 js 라이브러리의 코드는 수정 없이 $를 사용할 수 있고, jQuery는 $를 대체할 수 있습니다.예:





//    jQuery   jQuery(...)
jQuery(document).ready(function (){
jQuery("div" ).hide();
});

//    Prototype  ,  $(...),
$('someid' ).hide();




또는 jQuery처럼 긴 문자를 쓰고 싶지 않으면 다른 방법을 사용할 수 있습니다.
 var  $j = jQuery;

좋은 웹페이지 즐겨찾기