2011-07-28 14 views
0

이 코드는 작동하지 않습니다. 프로토 타입 스크립트 파일을 제거하면 mootools가 작동하고 mootools 프로토 타입이 제거됩니다. 이 코드 :mootools 및 프로토 타입 충돌

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

<script type="text/javascript"> 

      window.addEvent('domready', function(){ 
       var myMenu = new ImageMenu($$('#imageMenu a'),{openWidth:310, border:2, onOpen:function(e,i){alert(e);}}); 
      }); 
</script> 

그 내가 한 번 할 때, 프로토 타입이 여전히 작동하지 프로토 타입 MT하지만이 Ajax.Updater과 함께 일을 언급하는 것이 중요합니다.

나는 문제에 관해서 대부분의 주제를 점검했지만 여전히 잃어 버렸다!

+1

짧은 답변 :이 두 프레임 워크를 함께 사용하면 둘 다 네이티브를 확장 할 수 없으므로 불가능합니다. 기간. –

답변

0

나는 도 왜으로 프로토 타입과 mootools를 함께 사용해야하는지 잘 모르겠습니다. 이것은 확실히 틀의 오용으로 자격이 될 것입니다 ... 하나를 골라서 붙잡아주십시오. 하나 또는 다른 것을 선택할 수 없다면 기본 프레임 워크가 필요하다는 기본 가정으로 시작한 다음 프레임 워크에서 필요에 맞는 것을 선택하십시오. 한 가지 (또는 여러 가지)를 사용하는 것은 나쁜 계획 일뿐입니다.

두 프레임 워크는 DOM을 확장하여 기능을 수행하므로 충돌이 발생하는 것은 놀라운 일이 아닙니다. 둘 다 확장 기능의 진입 점으로 $을 사용합니다. 프레임 워크를 스택 할 때 얻을 수있는 기능 복제의 양은 함께 사용하는 것을 거의 배제합니다. 필요하지 않은 수많은 코드를로드하는 데 추가 오버 헤드를 염두에 두지 마십시오.

모든 내용은 this article을 확인할 수 있습니다. 이것은 다른 프레임 워크와의 호환성/충돌 해결에 대한 mootools의 권장 사항입니다. 이 기사의 첫 번째 단락에서 작성자는 여기에있는 것과 동일한 경고를 주지만 프레임 워크를 겹쳐 쓰지는 않습니다. 이것이 유일한 선택 인 극소수의 매우 구체적인 상황이 있습니다. 그렇지 않으면 왜이 접근법을 사용하는지 고려해야합니다.

+0

크리스, 고맙습니다. 단 하나의 FW 만 고집하는 것에 동의하지만 문제는이 이동 (Phatfusion Image Menu)이 mootools로만 만들어졌으며, 또한 JQuery에 의해 만들어 졌는지 확인합니다.하지만 프로토 타입은 아닙니다. 내가 그 문서를 확인하지만 지금은 내 mootools fucntion과 함께 사용하는 방법을 알고, 나는 견인 $ 함수에서 그래서 document.id 두 그들 모두를 대체 할 수 있습니까? 그것은 작동하지 않을거야 !! 또한 JQuery 버전 (Phatfusion Image Menu)을 사용하고 No.Conflict를 사용하려고했지만 또한 만들지 않았습니다. ( –

+0

그렇다면 내가 말하는 것은 다른 메뉴 시스템을 사용해야한다는 것입니다. 프레임 워크를 사용하여 필요한 기능을 제공해야합니다. 찾을 수없는 경우 a) 프레임 워크를 재검토하거나 b) 메뉴에서 필요한 기능을 다시 고려해야합니다. 자신에게 적합한 사전 제작 된 프로토 타입 스크립트를 찾지 못했다면, 함께 mootools로 이동하지 않으시겠습니까? 내가 다지 픽업 트럭을 운전하고 부품이 필요하다면, 나는 포드 액세서리를 사지 않는다. - 나는 내 트럭에 맞지 않기 때문에 그들을 보지 않는다. 마찬가지로 프로토 타입을 사용할 때 mootools를 쇼핑하지 마십시오. –