본문 바로가기
script

JQuery 와 Prototype 충돌

by [김경민]™ ┌(  ̄∇ ̄)┘™ 2016. 5. 26.
728x90

 

[원문] http://smartjuho.tistory.com/entry/JQuery-%EC%99%80-Prototype-%EC%B6%A9%EB%8F%8C-%EB%B0%A9%EC%A7%80

 

JQueryprototype에서 $()를 사용하려면 충돌이 일어나 스크립트 오류를 일으킨다.

 

둘다 같은 $()를 쓰니까..

 

이를 해결하는 방법은 아래와 같다.

 

jQueryprototype 을 정의한 아래줄에 다음의 소스를 추가한다.

 

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>

 

<script type="text/javascript">
jQuery.noConflict();
var j$ = jQuery;
</script>

 

위와 같이 정의해두면 jQuery에 대한 $()는 -> j$() 로 대체해서 사용할수 잇게된다.

 

물론 충돌도 일어나지 않는다.

 

++ 하지만! jquery의 다른 라이브러리를 다운로드 받아 사용하려면 해당 라이브러리의 $ 를 j$ 로 모두 바꿔줘야 하는 번거로움이 있다.

이는 스크립트를 가져오는 순서만 잘 나열해주면 바로 해결된다.

 

ex)

<script type="text/javascript" src"./js/jquery-1.6.2.min.js"></script> <!-- jquery 기본 라이브러리 -->
<script type="text/javascript" src="./js/jquery-ui-1.8.16.custom.min.js"></script> <!-- 별도로 다운로드 받은 라이브러리 -->

<script type="text/javascript">
jQuery.noConflict();
var j$ = jQuery;
</script>

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

 

이런식으로 jquery를 먼저 로드하고 후에 prototype.js 를 로드하면 둘다 문제 없이 사용할 수 있다.

728x90

'script' 카테고리의 다른 글

javascript 내 함수 파라미터 전달  (0) 2019.05.24
InvalidCharactErerror  (0) 2016.01.11
iframe javascript access parent cross domain  (0) 2014.07.14
swap memory used check in sh  (0) 2014.07.03
JAVACRIPT 와 PHP 간 암호화 복호화 연동  (0) 2014.06.27

댓글