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
- <?xml version="1.0" encoding="utf-8"?>
- <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
- xmlns:comps="comps.*"
- layout="vertical"
- verticalAlign="top"
- backgroundColor="white" >
- <mx:Array id="arr">
- <mx:Object label="One" />
- <mx:Object label="Two" />
- <mx:Object label="Three" />
- <mx:Object label="Four" />
- <mx:Object label="Five" />
- <mx:Object label="Six" />
- <mx:Object label="Seven" />
- <mx:Object label="Eight" />
- <mx:Object label="Nine" />
- <mx:Object label="Ten" />
- </mx:Array>
- <mx:Form>
- <mx:FormItem label="MXML:">
- <comps:MyComboBoxMXML id="comboBoxMXML"
- dataProvider="{arr}" />
- </mx:FormItem>
- <mx:FormItem label="ActionScript:">
- <comps:MyComboBoxAS id="comboBoxAS"
- dataProvider="{arr}" />
- </mx:FormItem>
- </mx:Form>
- </mx:Application>
下面是MyComboBoxMXML.mxml的代码:
Download: MyComboBoxMXML.mxml
- <?xml version="1.0" encoding="utf-8"?>
- <mx:ComboBox xmlns:mx="http://www.adobe.com/2006/mxml">
- <mx:Script>
- <![CDATA[
- override protected function keyDownHandler(event:KeyboardEvent):void {
- // ignore
- }
- ]]>
- </mx:Script>
- </mx:ComboBox>
下面是MyComboBoxAS.as的代码:
Download: main.mxml
- package comps {
- import flash.events.KeyboardEvent;
- import mx.controls.ComboBox;
- public class MyComboBoxAS extends ComboBox {
- public function MyComboBoxAS() {
- super();
- }
- override protected function keyDownHandler(event:KeyboardEvent):void {
- // ignore
- }
- }
- }
代码:Peter deHaan 翻译/整理/编译:minidxer
Topics:
Flex |
Tags: ComboBox, KeyboardEvent, keyDownHandler, 键盘