本文和大家重点讨论一下Flex键盘事件的监听,首先,要理解一个概念,Flex键盘事件发生的对象,通过实践我知道其实是容器,菜谱上分为stage和HBox等普通容器。
Flex键盘事件的监听
Flex的事件监听机制很完善,下面主要简单的讲一下Flex键盘事件的监听。
首先,要理解一个概念,Flex键盘事件发生的对象,通过实践我知道其实是容器,菜谱上分为stage和HBox等普通容器;
其次,要明白Flex键盘事件也是事件,事件的监听无非是用事件处理器监听(常用的如click),这里用的是keyDown;或者用addEventLisner的方式;
在下面的例子里,我两种都用了,application用的是addEventLisner,自定义控件com里用的是keydown;在事件触发的时候,前种方式会在后者之前执行。
code view:
ComA代码:
- <?xml version=”1.0″ encoding=”utf-8″?>
- <mx:HBox xmlns:mx=”http://www.adobe.com/2006/mxml“ keyDown=”keyHalder(event)” width=”400″ height=”300″>
- <mx:Script>
- <![CDATA[
- public function keyHalder(event:KeyboardEvent):void
- {
- switch(event.keyCode)
- {
- case 13:
- trace("按的是回车!");
- break;
- case 32:
- trace("按的是空格!");
- break;
- default:
- trace("不是空格也不是回车!");
- break;
- }
- }
- ]]>
- </mx:Script>
- <mx:Button label=”Button”/>
- </mx:HBox>
Application代码:
- <?xml version=”1.0″ encoding=”utf-8″?>
- <mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml“ creationComplete=”init()” layout=”absolute” xmlns:ns1=”*”>
- <mx:Script>
- <![CDATA[
- public function init():void
- {
- this.addEventListener(KeyboardEvent.KEY_UP,keyHalder1);
- }
- public function keyHalder1(evt:KeyboardEvent):void
- {
- trace(evt.keyCode.toString());
- }
- ]]>
- </mx:Script>
- <mx:TextInput x=”10″ y=”171″ id=”tp1″/>
- <ns1:ComA x=”243″ y=”19″>
- </ns1:ComA>
- </mx:Application>
【编辑推荐】