1. 程式人生 > >【flex】——application監聽Keyboard事件 【仍有疑問,待續】

【flex】——application監聽Keyboard事件 【仍有疑問,待續】

程式碼:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application applicationComplete="init()"   xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
    <mx:Image click="img_click()" id="img_tank" x="200" y="207" source="assets/ab89c2cccdde7000.jpeg"/>
    <mx:Script>
        <![CDATA[
            import mx.controls.Alert;
            private function init():void{
                this.stage

.addEventListener(KeyboardEvent.KEY_DOWN,keyFunc)
            }
            protected function keyFunc(evt:KeyboardEvent):void{
                if(evt.keyCode==13){
                    Alert.show("enter down")
                }
            }
        ]]>
    </mx:Script>
</mx:Application>

flex的application監聽不到Keyboard事件,如果實現的話,需要他的stage去監聽這個事件。

另外,要用applicationComplete事件,當stage的屬性 完成以後才可。

如createcomplete事件,stage的值為null,而且,stage為只讀屬性

——另一個疑問:為什麼application不可以監聽Keyboard事件呢?但他卻能監聽mouse事件。application不也繼承了EventDispatcher類了嗎??