2012-01-23 5 views
0

두 개의 개별 jQuery 라이브러리를 처리하는 방법은 무엇입니까? 두 가지 모두 필요하지만 두 가지 결과를 모두 충돌로 포함하면 하나의 기능 만 작동합니다.여러 jQuery 라이브러리 간의 충돌

+4

왜 ** ** ** ** jQuery 라이브러리를 포함하고 있습니까? 왜 다른 플러그인과의 호환성이 가장 낮은 버전을 죽이고 당신이 죽인 플러그인이 필요한 플러그인으로 문제를 해결해보십시오. 어떤 플러그인을 사용하고 있는지 미리 알 수 있습니다. –

답변

7

다릅니다. 두 페이지를 동시에 페이지에서 활성화 할 수 있지만 그 중 하나만 $ 기호를 가질 수 있으며 그 중 하나만 기호 jQuery을 가질 수 있습니다. 잘 작성된 jQuery를 플러그인 것을, 심지어 환경에서 예를 작동합니다

<script src="jquery-1.5.2.js"></script> 
<script>var $j15 = jQuery.noConflict(true);</script> 
<script src="jquery-1.7.1.js"></script> 
<script> 
    // Here, $ = jQuery = jQuery 1.7.1 
    // $j15 = jQuery 1.5.2 
</script> 

주 : 그러나 기술적으로, 당신은는 한 페이지에 두 개 이상 가질 수

<script src="jquery-1.5.2.js"></script> 
<script src="plugin-requiring-1.5.2.js"></script> 
<script>var $j15 = jQuery.noConflict(true);</script> 
<script src="jquery-1.7.1.js"></script> 
<script> 
    // Here, $ = jQuery = jQuery 1.7.1 
    // $j15 = jQuery 1.5.2 
    $j15("selector").pluginRequiring152(...); 
</script> 

을 .. 당신이 경우 라 파괴하지 않고,

(function($) { 
    $.fn.pluginRequiring152 = ...; 
})(jQuery); 

... 그래서 당신이 그것을 포함 시점에서 jQuery 무엇이든 사용합니다 : .because 잘 작성 플러그인은 다음과 같습니다 화재는 noConflict(true)입니다.

좋은 생각인가요? 거의 확실하지 않습니다. 문제가 무엇이든 해결하면 jQuery 버전이 두 개 이상 필요하며 테스트 한 최신 버전 만 포함하면됩니다.