flex键盘监听事件

来源:互联网 发布:seo报价系统 编辑:程序博客网 时间:2024/05/16 09:59

<?xml version="1.0" encoding="utf-8"?>  

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" applicationComplete="appComplete();">  

<mx:TextArea x="10" y="10" id="t1" width="381" height="387"/>  

<mx:Script>  

   <![CDATA[  

    import flash.events.KeyboardEvent;  

    private function myKeyUp(evt:KeyboardEvent):void{  

     t1.text+= 'evt.charCode='+evt.charCode + 'evt.keyCode='+ evt.keyCode + 'evt.keyLocation='+ evt.keyLocation + " 弹起/n"

    }  

    private function myKeyDown(evt:KeyboardEvent):void{  

     t1.text= 'evt.charCode='+evt.charCode + 'evt.keyCode='+ evt.keyCode + 'evt.keyLocation='+ evt.keyLocation + "按下/n";  

    }  

     

    private function appComplete():void{  

     //this.stage.addEventListener(KeyboardEvent.KEY_UP,myKeyUp);  

     this.stage.addEventListener(KeyboardEvent.KEY_DOWN,myKeyDown);  

     this.stage.addEventListener(KeyboardEvent.KEY_DOWN,myPress);  

    }  

     

 

//下面方法演示每次按下上下左右键头,文本框移动+5像素;  

    private function myPress(evt:KeyboardEvent):void{  

     if(evt.keyCode==39){ //右  

      t2.x=t2.x+5;  

     }  

     if(evt.keyCode==38){//上  

      t2.y=t2.y-5;  

     }  

     if(evt.keyCode==40){//下  

      t2.y=t2.y+5;  

     }  

     if(evt.keyCode==37){//左  

      t2.x=t2.x-5;  

     }  

    }  

     

   ]]>  

</mx:Script>  

<mx:TextInput x="567" y="149" id="t2"/>  

</mx:Application>