2012-09-20 5 views
1

Flex 3.6으로 제작 된 AIR 데스크톱 응용 프로그램에서 RichTextEditor를 사용하고 있습니다.Flex RichTextEditor - 무시 Ctrl + Y

실행 취소/다시 실행이 없기 때문에 구성 요소 기능을 확장하려고합니다.

CTRL + Y를 누를 때마다 문제가 발생했습니다.

키를 누를 때 실제로하는 일.

<mx:RichTextEditor 
    id="myRTE" 
    keyDown="onKeyDown(event);" 
/> 

.... 

public function onKeyDown(event:KeyboardEvent):void 
{ 
    if (event.ctrlKey && event.charCode == 122) 
    { 
     // ctrl + z pressed! 
     undo(); 
    } 

    if (event.ctrlKey && event.charCode == 121) 
    { 
     // ctrl + y pressed! 
     redo(); 
    } 
} 

내 문제는 CTRL + Y의도 출력 내 RichTextEditor는에 이상한 문자하지만 난 그것을 버리고 싶은 것입니다.

나는 event.stopImmediatePropagation()을 넣으려고했다. 다시 실행 직후(); 어쨌든 이상한 문자가 RichTextEditor에 추가됩니다.

나는 그것을 어떻게 제거하는지 정말 모르겠다.

아이디어가 있으십니까?

protected function application1_creationCompleteHandler(event:FlexEvent):void { 
    myRTE.textArea.addEventListener(TextEvent.TEXT_INPUT, textInput); 
} 

private function textInput(event:TextEvent):void { 
    // CTRL+V pressed 
    if (event.text.length > 1) 
     event.preventDefault(); 
} 

RichTextEditor는의 캡슐화 사용하여 텍스트 영역 :

답변

1

는이 코드를 사용할 수 있습니다. TextEvent.TEXT_INPUT에 대한 이벤트를 추가하여 Ctrl + V 이벤트를 방지 할 수 있습니다.

+0

이반 감사합니다. 방금 redo(); 다음에 event.preventDefault()를 추가했습니다. 내가 필요한 것을하는 것으로 충분했다! –