Flex事件(二)

上篇我们说到了Flex的鼠标事件,本次我们来看一看键盘事件,键盘事件主要使用的是KeyboardEvent类,其只有2种类型KEY_Down(按下)和KEY_UP(释放)。并且利用KeyboardEvent类的各种属性以获得用户输入的信息以下例说明:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()">
<mx:Style>
Application{
fontSize:12pt;
}
</mx:Style>
<mx:Script>
<![CDATA[
//注册键盘的监听器
private function init():void
{
//为taOne注册的是键盘按下动作的监听
taOne.addEventListener(KeyboardEvent.KEY_DOWN,onKeyDown);
//为taTwo注册的是键盘释放动作的监听
taTwo.addEventListener(KeyboardEvent.KEY_UP,onKeyUp);
}
//键盘按下时候事件keyboardEvent记录的信息
private function onKeyDown(e:KeyboardEvent):void
{
writeLog("按下的键值为:"+e.keyCode+",按下的按键为:"+e.charCode);
writeLog("键盘事件位置:"+e.keyLocation);
writeLog("是否同时按下了Ctrl键:"+e.ctrlKey);
writeLog("是否同时按下了Shift键:"+e.shiftKey);
writeLog("是否同时按下了Alt键:"+e.altKey);
writeLog("--------------------------------");
}
//键盘按键释放时,记录的信息
private function onKeyUp(e:KeyboardEvent):void
{
writeLog("释放的键值为:"+e.keyCode+",释放的按键为:"+e.charCode);
}
//在taTwo中显示的信息
private function writeLog(s:String):void
{
//将原信息加上新信息并显示
taTwo.text += s+"\n";
}
]]>
</mx:Script>
<mx:TextArea id="taOne" width="200" height="400"/>
<mx:TextArea id="taTwo" width="300" height="400" x="208"/>
</mx:Application>
在上面的示例上我们要注意的是如果用户输入有大小写的区分,我们就不要使用charCode属性去识别,因为对于大小写的A和a来说他们的charCode是同一个键位应该使用keyCode去识别为宜。 |