Flex_监听键盘事件 2010-05-19 10:15
一、说明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
