2014-07-11 3 views
-1

DOJO 프레임 워크를 사용하여 내 응용 프로그램의 메뉴 및 하위 메뉴 항목을 만들었습니다. 나는 메뉴 항목을 클릭하고 크롬의 하위 메뉴 항목을 탐색 할 수 있지만 Internet Explorer와 Firefox에서는 하위 메뉴 항목을 클릭하거나 선택할 수 없습니다. 아래의 주 메뉴를 클릭하면 오류가 발생합니다. 브라우저 콘솔에 표시됩니다. 나는 응용 프로그램을 실행할 때. 크롬도 오류 메시지를 표시하지만 여전히 하위 메뉴 항목을 볼 수 있습니다. 오류 메시지 : menu.js에 대한메뉴 항목이 작동하지 않습니다.

TypeError: this._openPopup is not a function 
this._openPopup(); 

코드 :

..... 
      dijit._MenuBase.prototype.onItemHover = function(item){ 
        this.focusChild(item); 
        if(this.focusedChild.popup && !this.focusedChild.disabled){ 
         this._openPopup(); //at this line it is showing the error. 
        } 
       }; 
... 

제안하십시오, 나는이 문제를 어떻게 해결할 수 있습니까?

+0

아마도 잘못된 범위에 있습니다. jsFiddle 예제를 제공 할 수 있습니까? Dojo를 잘못된 방식으로 사용하고 있습니다. dojo의 on 모듈과 require 모듈을 살펴보십시오. – GuyT

+0

@GuyT - http://jsfiddle.net/nw9tU/160/. 하지만 바이올린에서 메뉴 항목을 표시 할 수 없었습니다. 하지만 jsfiddle에서 제 코드를 볼 수 있습니다. 감사. – user3684675

+0

Dojo 1.6을 사용하고 있으며 최신 (1.10 기압)이 아닌 이유는 무엇입니까? 바이올린 구문에는 Dojo 1.7 이상이 필요합니다 (onItemHover를 제외하고 이것은 완전히 잘못되었습니다). – GuyT

답변

1

몇 가지 오류가 있습니다. 먼저 Dojo 버전을 포함합니다. 두 번째 실수는 화면에 '자리 표시 자'를 설정하지 않는다는 것입니다. 알 수없는 ID가있는 placeAt으로 전화하고 있습니다. id='wrapper'으로 div를 만들어야합니다.

Dojo를 기존보다 더 어렵게 만들지 말고 주어진 예제를 사용하십시오.

다음 피들에서 필자는 피조물을 고쳤습니다 (필자는 도장 버전을 변경했습니다).

http://jsfiddle.net/nw9tU/168/

관련 문제