Flex中通过扩展ComboBox类重载protected keyDownHandler()事件使键盘导航(keyboard navigation)功能无效的例子

By Minidxer | July 16, 2008

Flex中通过扩展List类重载protected keyDownHandler()事件使键盘导航(keyboard navigation)功能无效的例子Flex中通过继承扩展Accordion类和重载protected keyDownHandler()事件使Accordion控件中键盘导航(keyboard navigation)功能无效的例子中我们了解了keyDownHandler事件以及重载的用法,接下来例子演示了Flex中通过扩展ComboBox类重载protected keyDownHandler()事件,使键盘导航(keyboard navigation)功能无效。

让我们先来看一下Demo可以右键View Source或点击这里察看源代码):


下面是完整代码(或点击这里察看):

Download: main.mxml
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
  3.         xmlns:comps="comps.*"
  4.         layout="vertical"
  5.         verticalAlign="top"
  6.         backgroundColor="white" >
  7.  
  8.     <mx:Array id="arr">
  9.         <mx:Object label="One" />
  10.         <mx:Object label="Two" />
  11.         <mx:Object label="Three" />
  12.         <mx:Object label="Four" />
  13.         <mx:Object label="Five" />
  14.         <mx:Object label="Six" />
  15.         <mx:Object label="Seven" />
  16.         <mx:Object label="Eight" />
  17.         <mx:Object label="Nine" />
  18.         <mx:Object label="Ten" />
  19.     </mx:Array>
  20.  
  21.     <mx:Form>
  22.         <mx:FormItem label="MXML:">
  23.             <comps:MyComboBoxMXML id="comboBoxMXML"
  24.                     dataProvider="{arr}" />
  25.         </mx:FormItem>
  26.         <mx:FormItem label="ActionScript:">
  27.             <comps:MyComboBoxAS id="comboBoxAS"
  28.                     dataProvider="{arr}" />
  29.         </mx:FormItem>
  30.     </mx:Form>
  31.  
  32. </mx:Application>
下面是MyComboBoxMXML.mxml的代码:
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:ComboBox xmlns:mx="http://www.adobe.com/2006/mxml">
  3.  
  4.     <mx:Script>
  5.         <![CDATA[
  6.             override protected function keyDownHandler(event:KeyboardEvent):void {
  7.                 // ignore
  8.             }
  9.         ]]>
  10.     </mx:Script>
  11.  
  12. </mx:ComboBox>
下面是MyComboBoxAS.as的代码:
Download: main.mxml
  1. package comps {
  2.     import flash.events.KeyboardEvent;
  3.     import mx.controls.ComboBox;
  4.  
  5.     public class MyComboBoxAS extends ComboBox {
  6.         public function MyComboBoxAS() {
  7.             super();
  8.         }
  9.  
  10.         override protected function keyDownHandler(event:KeyboardEvent):void {
  11.             // ignore
  12.         }
  13.     }
  14. }
代码:Peter deHaan 翻译/整理/编译:minidxer

Topics: Flex | Tags: , , ,

Related Post

Leave a Comment

Name(*):

E-Mail(*) :

Website :

Comments :

Search Posts

Archives

Sponsored Ads