2012-08-23 5 views
0

사용자 정의 위젯에 대해 다음 Java 스크립트 클래스가 있습니다. 하지만 작동하지 않습니다. 비 기능이 호출됩니다. 친절하게 도움을 줘서 더 이상 진행할 수 없습니다.dojo 사용자 정의 위젯이 작동하지 않습니다.

dojo.provide("FancyCounter"); 

dojo.require("dijit._Widget"); 
dojo.require("dojo.parser"); 


dojo.declare("FancyCounter",[dijit._Widget], 
{ 
//counter 
_i:0, 


buildRendering: function() 
{ 
    //create DOM 
    this.domNode = dojo.create("button",{innerHTML:this._i}); 
}, 

postCreate: function() 
{ 
    this.connect(this.domNode,"onClick","increment"); 

}, 

increment:function() 
{ 
    //you need to update dom in order to refresh display i believe 
    this.domNode.innerHTML = ++this._i; 
}, 
}); 
dojo.ready(function(){ 
    dojo.parser.parse(); 
}); 

/////html code 
<span data-dojo-type ="FancyCounter"></span> 

답변

0

변경

this.connect(this.domNode,"onClick","increment"); 

소문자 'C'와

this.connect(this.domNode,"onclick","increment"); 

에. DOM 노드의 이벤트에 연결하고 있습니다. http://www.w3schools.com/jsref/dom_obj_event.asp

+0

위젯이 전혀 렌더링되지 않습니다 (표시됨). 메소드 buildRendering()에 버튼을 추가하고 있습니다. 그러나 나는 그 방법에 중단 점을 넣었다. 그것의 모든 방법을 입력하지 않습니다. –

+0

다른 오류가 있습니까? 그 모습에서 dojoconfig에서 비동기 플래그를 사용하고 비 amd 스타일 선언을 사용할 수 있습니다. .ready 대신 dojo.addOnLoad를 사용해보십시오. – mschr

관련 문제