一、说明
1、只有当监听的对象获取焦点后,才能出接收到KeyboardEvent.KEY_DOWN event。
二例子
为应用程序的stage或组件的keyDown事件添加监听器,读取KeyboardEvents的keyCode属性。
使用keyDown事件处理器监听KeyboardEvent,这些类都扩展自UIComponent。KeyboardEvent
类定义了一个keyCode属性用于存储用户按下的键码,例如:
Code View:
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300"
???? keyDown="keyHandler(event)" backgroundColor="#0000ff">
<mx:Script>
<![CDATA[
?? import?? flash.events.KeyboardEvent;
???? private?? function?? keyHandler(event:KeyboardEvent):void
????? {
????????? switch(event.keyCode){
???????????????? case 13:
?????????????????? trace("Enter pressed");
???????????????????? break;
?????????????????? case 32:
???????????????? trace("SpaceBar pressed");
?????????????? break;
??????????????? case 16:
????????????? ?? trace("ShiftKey pressed");
????????????? ?? break;
????????????? ?? case 112:
????????????? ??? trace("F1pressed");
????????????? ??? break;
??????? }
}
]]>
</mx:Script>
<mx:Button label="One"/>
</mx:HBox>
请注意这个类,只有当button被激活时才会监听到它发出的事件。如果你删除了button,那
么就没有东西可以激活了,keyHandler函数也永远不会被调用。要想在程序中捕获所有的
KeyEvents事件而不管有没有组件被激活,请添加下面的句子:
Code View:
addedToStage="stage.addEventListener(KeyboardEvent.KEY_DOWN,keyHandler)"
?
来源:http://hi.baidu.com/kiss_you_and/blog/item/f1e00c12404cb3caa7ef3f95.html