2011-03-09 3 views
0

Dijit.Editor를 사용하여 Mini RTE를 작성하고 있습니다. dijit 편집기는 P 또는 Div에서 Enter 키 처리 만 담당하는 EnterKeyHandling 플러그인 (dijit._editor.plugins.EnterKeyHanling)을 사용합니다.Dijit 편집기에서 키 처리를 입력하십시오.

목록 요소 등에서 Enter 키를 처리하기 위해 고유 한 기능을 추가하려면이 방법을 확장하고 싶습니다. 어떻게해야합니까?

답변

1

이것은 실제로 상당히 쉽습니다.

몇 가지 접근 방법이 있습니다.

1) 원숭이가 기존 EnterKeyHandling 플러그인을 패치합니다. 이 같은

뭔가 :

var oldFunc = dijit._editor.plugins.EnterKeyHandling.prototype.onKeyPressed; 
dijit._editor.plugins.EnterKeyHandling.prototype.onKeyPressed = function(){ 

// Do your stuff ... 

oldFunc(arguments); 

// Do your stuff ... 

} 

2), 자신의 플러그인을 만들기 당신은 단지 줄일 수 템플릿/기본 클래스로 EnterKeyHandling을 사용하고 EnterKeyHandling 소스를 붙여 그에게 자신의 이름을 부여하고 해킹 onKeyPressed 메서드를 사용하여 원하는 것을 수행 할 수 있습니다.

dojo.declare("so.MyEnterHandling", dijit._editor.plugins.EnterKeyHandling, { 
    onKeyPressed: function(){ 
    // Do your stuff 
    // Either use EnterKeyHandling.onKeyPressed() as a template, or call: 
    this.super(arguments); 
    } 
} 

그리고 다른 플러그인처럼 사용 :

plugins = "['so.MyEnterHandling']" 

가 참고 : 코드 샘플이 없었다

그러나 더는 서브 클래스 대신 표준 플러그인의를 사용하는 것입니다 실행, 그냥 입력 된