2

私は WindowedApplication を持っていkeyUpます。エスケープ キーが押されたときにアプリケーションを閉じることができるように、を監視する必要があります。ただし、私のコードは機能していません:

<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
                       xmlns:s="library://ns.adobe.com/flex/spark" 
                       xmlns:mx="library://ns.adobe.com/flex/mx"
                       keyUp="windowedapplication1_keyUpHandler(event)">

<fx:Script>
        <![CDATA[   

            protected function windowedapplication1_keyUpHandler(event:KeyboardEvent):void
            {
                //Monitor key press {ESC}
                if(event.keyCode == 27){
                    exit();
                }
                else{
                    trace("key = " + event.keyCode);
                }
            }   

        ]]>
</fx:Script>

このイベントはまったく発生していないようです。オーバーライドkeyUpHandlerして情報を追跡しようとしましたが、何もしませんでした。

4

1 に答える 1

1

Adobe フォーラムでこの同様の質問を見つけました。これは問題の解決に役立ちました。

をリッスンしてから、リスナーを にapplicationCompleteアタッチするハンドラーで解決しました。keyUpstage

<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
                       xmlns:s="library://ns.adobe.com/flex/spark" 
                       xmlns:mx="library://ns.adobe.com/flex/mx"
                       applicationComplete="init()">

<fx:Script>
        <![CDATA[   

            protected function init():void
            {
                stage.addEventListener(KeyboardEvent.KEY_UP, windowedapplication1_keyUpHandler);
            }

            protected function windowedapplication1_keyUpHandler(event:KeyboardEvent):void
            {
                //Monitor key press {ESC}
                if(event.keyCode == 27){
                    exit();
                }
                else{
                    trace("key = " + event.keyCode);
                }
            }       

        ]]>
</fx:Script>
于 2013-03-19T13:11:06.020 に答える