首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

tab键切换焦点?解决思路

2013-01-11 
tab键切换焦点?tab键通常用来切换控件间的焦点。flex中可以通过tabIndex来设置tab顺序。现在有一个问题:需要

tab键切换焦点?
tab键通常用来切换控件间的焦点。flex中可以通过tabIndex来设置tab顺序。

现在有一个问题:需要让Enter键拥有与tab键同样的功能。
即,一个textInput输入完成按Enter键后,焦点转到下一个textInput。

我略微想了一下,大致有两种解决方案:
① 定义每个控件的keyDown事件,当按键为Enter时,判断目前的焦点的位置,并设置焦点转到下一位置。
   方案特点:需要写大量代码,耦合度高。

② 利用现有的tabIndex定义,设法让Enter键的按下事件与tab相同。
   方案特点:简洁,耦合度低。

这里我想主要请教第二种方案的实现方法。
[解决办法]
//听app的KEY_DOWN事件
this.addEventListener(KeyboardEvent.KEY_DOWN, onEnter);
private function onEnter(event:KeyboardEvent):void
{
if(event.keyCode == Keyboard.ENTER && focusManager.getFocus() is TextInput)
{
focusManager.setFocus(focusManager.getNextFocusManagerComponent());
}
}

热点排行