用快捷键必有一个键先按下,所以用KeyboardEvent.KEY_UP来判断
使用事件的时候,注意焦点要在容器内。
使用事件的时候,注意焦点要在容器内。
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="creationCompleteHandler(event)">
<s:layout>
<s:VerticalLayout horizontalAlign="center" verticalAlign="middle" gap="0"/>
</s:layout>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<fx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.events.FlexEvent;
private function creationCompleteHandler(event:FlexEvent):void
{
bc.addEventListener( KeyboardEvent.KEY_UP, keyBoardHandler );
}
private function keyBoardHandler(event:KeyboardEvent):void{
var code:int = event.keyCode;
var ctrl:Boolean=event.ctrlKey;
if(ctrl)
{
Alert.show("ctrl+"+code)
}else{
Alert.show(code.toString())
}
text.text = ctrl+","+code;
trace(ctrl+","+code);
}
]]>
</fx:Script>
<s:BorderContainer id="bc" width="500" height="500" backgroundColor="0xff0000" borderStyle="solid" borderWeight="5" borderColor="0x000000">
<s:TextInput width="300" height="100"/>
</s:BorderContainer>
<s:TextInput id="text" width="100" height="25"/>
</s:Application>