代码:
<?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类了吗??