Flex鍵盤(pán)事件的監(jiān)聽(tīng)機(jī)制
本文和大家重點(diǎn)討論一下Flex鍵盤(pán)事件的監(jiān)聽(tīng),首先,要理解一個(gè)概念,F(xiàn)lex鍵盤(pán)事件發(fā)生的對(duì)象,通過(guò)實(shí)踐我知道其實(shí)是容器,菜譜上分為stage和HBox等普通容器。
Flex鍵盤(pán)事件的監(jiān)聽(tīng)
Flex的事件監(jiān)聽(tīng)機(jī)制很完善,下面主要簡(jiǎn)單的講一下Flex鍵盤(pán)事件的監(jiān)聽(tīng)。
首先,要理解一個(gè)概念,F(xiàn)lex鍵盤(pán)事件發(fā)生的對(duì)象,通過(guò)實(shí)踐我知道其實(shí)是容器,菜譜上分為stage和HBox等普通容器;
其次,要明白Flex鍵盤(pán)事件也是事件,事件的監(jiān)聽(tīng)無(wú)非是用事件處理器監(jiān)聽(tīng)(常用的如click),這里用的是keyDown;或者用addEventLisner的方式;
在下面的例子里,我兩種都用了,application用的是addEventLisner,自定義控件com里用的是keydown;在事件觸發(fā)的時(shí)候,前種方式會(huì)在后者之前執(zhí)行。
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>
【編輯推薦】
- Flex鍵盤(pán)事件注意事項(xiàng)
- Flex開(kāi)發(fā)者必須知道的10件事
- 技術(shù)前沿 看Flex客戶端緩存技術(shù)如何使用
- 12個(gè)Flex常用功能代碼再現(xiàn)
- 學(xué)習(xí)筆記 Flex國(guó)際化如何支持其他語(yǔ)言