2010-01-22 3 views
1

나는 관련된 모든 게시물을 읽었지만 나는 뭔가를 놓치고 있다고 생각합니다.Joomla에서 Mootools와 jQuery의 충돌

내 페이지의 구조는 다음과 같습니다

1

은 - 줌라에 Motools 라이브러리를로드합니다. 코드 :

JHTML::_('behavior.tooltip'); 
JHTML::_('behavior.mootools'); 
JHTML::_('behavior.formvalidation'); 

2 - 그런 jQuery 라이브러리 코드를로드 할 수 있습니다 :

<script language="javascript" src="<?=$this->baseurl;?>/includes/js/jquery/jquery-1.3.2.js"></script> 
<script type="text/javascript" src="<?=$this->baseurl;?>/includes/js/jquery/customjsfile.js"></script>` 

3 - 그리고 JQuery와 기능을 사용하여 몇 JS 기능이 있습니다. 코드는 :

function abc() { /* -.stuffs uses jquery */ } 
function xyz() { /* ..another function which uses jquery */} 

- 4 페이지

(5)의로드 본체 - JS 코드의 끝에서 다시 몇 줄. Jquery를 다시 사용합니다. 코드 :

<script language="javascript"> 
    $("#dialog").html(newHTML); 
</script> 

내 페이지의 모습입니다. 이제 Motools & Jquery에서 충돌 오류가 발생합니다.

어떻게 해결할 수 있습니까?

답변

1

사용 jQuery

주고

jQuery.noConflict(); 

jQuery.noConflict

많은 JavaScript 라이브러리는 jQuery와 마찬가지로 $를 함수 또는 변수 이름으로 사용합니다. jQuery의 경우 $는 jQuery의 별칭 인 이므로 기능은 모두 $을 사용하지 않으면 사용할 수 있습니다. 우리가 jQuery를 함께 다른 자바 스크립트 라이브러리를 사용해야하는 경우, 우리는 $ .noConflict()에 다시 전화와 다른 라이브러리를 $의 제어를 반환 할 수 있습니다

+0

감사 부지를! 그것은 작동합니다! – user251336

+0

여기에있는 것을 공유하고 싶습니다. - for-in 루프는 이상한 o/p를 반환합니다. 하지만 먼저 배열을 가져 와서 극복 할 수있었습니다. 변수에서 길이를 지정하고 for 루프를 사용하여 배열을 반복합니다. – user251336

+0

http://stackoverflow.com/questions/2040042/javascript-array-iteration-using-for-in-with-mootools-included – user251336

1

jQuery.noConflict을 (응답 될 것으로 보인다.

<html> 
<head> 
    <script src="prototype.js"></script> 
    <script src="jquery.js"></script> 
    <script> 
    jQuery.noConflict(); 

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

    // Use Prototype with $(...), etc. 
    $('someid').hide(); 
    </script> 
</head> 
<body></body> 
</html> 

출처 : 대신 $http://docs.jquery.com/Using_jQuery_with_Other_Libraries