본문 바로가기

[jQuery] 제이쿼리 jQuery와 prototype.js 충돌 해결법

반응형

 

[jQuery] 제이쿼리 jQuery와 prototype.js 충돌 해결법

 

 

 

 

사실 jQuery 와 prototype.js 가 충돌나는지도 몰랐었다.

 

문법에는 오류가 없는데 왜 계속 스크립트 오류가 날까?...

 

그래서 혹시나 충돌이라고 검색을 해보니 주르륵~~

 

인터넷에서 알려주는 해결방법은 이러하다.

 

 

해결방법

 

jquery 라이브러리를 먼저 선언하고 


<script type="text/javascript" src="/skin/frontend/rwd/default/js/lib/jquery-1.9.1.min.js"></script>


 

아래 부분 코드를 넣은 뒤


 

<script type="text/javascript">

jQuery.noConflict();

var jq$ = jQuery;

</script>

 

다시 prototype.js를 선언한다


 

<script type="text/javascript" src="/js/prototype/prototype.js"></script>


 

충돌의 원인은 식별자 '$' 같은 방식으로 다른 문법으로 사용하기 때문이다.

 

중간에 들어간 코드는 이 제이쿼리를 권한을 없애고 다른 변수로 처리를 한 것이다.

 

jq$는 변수니까 입맛에 바꾸어도 된다.

 

그 다음, 이후에 나오는 제이쿼리 명령어에는 jq$라는 변수를 사용해야 한다.

 

최종적으로는 제이쿼리를 먼저 불러오고 권한을 없애고 변수를 바꿔준 후 prototype을 불러오는 것이다.

 

 

메모해 본다.

 

 

참조 - http://www.honeytechblog.com/resolve-issues-jquery-lightbox-prototype-libraries/

 

반응형