2014-12-15 3 views
1

프로토 타입과 jQuery가 작동하도록 코드 사용법을 여러 번 조합했지만 아직 운이 없습니다.

내가 현재 가지고있는 것입니다.

index.html을 :

<script src="https://ajax.googleapis.com/ajax/libs/prototype/1.7.2.0/prototype.js"></script> 
<script src="http://code.jquery.com/jquery.js"></script> 
<script src="MAIN_JS_FILE.js"></script>` 

main_js_file.js는 :

Uncaught TypeError: undefined is not a function.

:

이제
jQuery(document).ready(function() { 
     var jsq = []; 
     jsq.push(AJAX_CALL_FOR_FETCHING_JS_FILE_1); 
     jsq.push(AJAX_CALL_FOR_FETCHING_JS_FILE_2); 
     jsq.push(AJAX_CALL_FOR_FETCHING_JS_FILE_3); 

     var deferredjs = jQuery.when.apply(jQuery, jsq); 
     deferredjs.done(function() { 
      //Various variable initialization 
      //Various function definition. 
     } 
    }); 

페이지가 (제대로 페이지가로드)로드, 크롬 콘솔은 오류 메시지가 표시

오류 파일 링크를 클릭하면 prototype.js 파일의 라인 번호 7066에서 element.dispatchEvent(event);을 가리 킵니다.

도움을 주시면 감사하겠습니다.

감사합니다.

편집 : 그래서 지금 $을 사용하고 여전히 undefined 오류가 표시되는 하나의 자바 스크립트 코드가없는 나는 단지 jQuery 대신 $의를 사용하도록 MAIN_JS_FILE.js 파일을 변경했습니다.

.ready() 전에 jQuery.noConflict();을 사용하면 $.when.apply 코드가 실행되지 않습니다.

+3

당신은 [jQuery noConflict] (http://api.jquery.com/jquery.noconflict/) –

+0

을 들여다 보았습니다. 즉, 어딘가에 프로토 타입을 사용하고 있으며 오류가 게시 된 것처럼 보이지 않습니다. 암호. 오류가있는 줄을 말하고 있습니까? – adeneo

+0

@steveniseki - 그는 이미 그것을 폐쇄의 형태로 사용하고 있습니다. – adeneo

답변

1

의견에 언급 된 @steven iseki과 같이 jQuery.noConflict을 사용할 수 있습니다. 당신은 자신의 웹 사이트에 읽을 수 :

Many JavaScript libraries use $ as a function or variable name, just as jQuery does. In jQuery's case, $ is just an alias for jQuery, so all functionality is available without using $.

을 그리고 그것은 또한 $ 기호를 사용하여 Prototype와 참 사건.

또한, 나는 여기 jQuery Conflict 오류가 있다고 생각하지 않는다 : 당신의 jQuery 코드에서

jQuery(selector).on('click', function(){...}); 
+0

이제 코드 전체에서'jQuery'를 사용하고 있습니다. 여전히 'undefined'오류가 표시됩니다. MAIN_JS_FILE.js의 맨 위에서'jQuery.noConflict();'를 사용하면'jQuery.when.apply' 내의 코드가 실행되지 않습니다. –

0

을 예컨대을 jQuery 대신 기호 $의를 사용해야합니다. 코드를 main.js에서 변경하십시오. 다른 방법을 사용하여 여기에서 작업을 완료하십시오. 귀하의 코드를 분석했지만 prototype.js은 실제 물건을 숨기는 방법이 있습니다.

관련 문제