:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" minWidth="955" minHeight="600" creationComplete="creationCompleteHandler(event)">
<mx:Script>
<![CDATA[
import mx.events.FlexEvent;
protected function creationCompleteHandler(event:FlexEvent):void
{
this.addEventListener(KeyboardEvent.KEY_UP, keyHandler);
}
protected function clickHandler(event:MouseEvent):void
{
this.dispatchEvent(new KeyboardEvent(KeyboardEvent.KEY_UP, true, false, 26, 26, 0, true));
}
protected function keyHandler(e:KeyboardEvent):void
{
trace(e.charCode, e.keyCode, e.ctrlKey);
}
]]>
</mx:Script>
<mx:Button id="undoButton" label="undo" click="clickHandler(event)" />
</mx:Application>
을 줄 this.dispatchEvent(new KeyboardEvent(KeyboardEvent.KEY_UP, true, false, 26, 26, 0, true));
은 KEY_UP 이벤트를 전달하는 키이며, 다음 두 args는 거품과 취소 가능이며, charCode와 keyCode는 각각 26이고, keyLocation은 0이고, ctrlKey는 0입니다.).
나는 이것을 시도했지만 버튼을 클릭했지만 텍스트가 실행 취소되지 않으면 26 26 사실을 추적합니다. 나는 당신의 모범이 분명하고 의미있는 것처럼 간단한 것을 놓치고 있다고 확신합니다. 어떤 생각일까요? – RapsFan1981
KeyBoardEvents를 수신하는 구성 요소가 이벤트를 보내는 단추보다 낮을 수 있습니다. Flash 및 Flex 이벤트는 DisplayList를 위로 올려 버리면 체인 위로 올라가는 모든 구성 요소에서들을 수 있거나 구성 요소에서 이벤트를 명시 적으로 수신 할 수 있습니다. 텍스트 영역은 사용자가 작성한 항목을 실행 취소/다시 실행합니까, 아니면 제 3의 작업입니까? – kreek
사실은 스파크 TextArea – RapsFan1981