模拟Flex键上的Tab键?

时间:2012-01-26 22:56:50

标签: flex flash-builder flex4.5

按下另一个键时可以模拟Tab键吗?我希望完全相同,但使用DOWN & ENTER Key.

我知道onKeyDown功能。我正在尝试这个,但它不起作用。

private function onKeyDown( e:KeyboardEvent ) :void
            {
                if( e.keyCode == Keyboard.DOWN )
                {
                    (e.currentTarget as TextInput).dispatchEvent(new KeyboardEvent(KeyboardEvent.KEY_DOWN, true, false, 0, Keyboard.TAB));
                }
            }

我知道标签的工作方式不同,我在Here中看到了它,但仍然不明白。

任何帮助都将不胜感激。

提前致谢。

2 个答案:

答案 0 :(得分:3)

我这样解决了。希望这能帮助别人。

private function onKeyDown( e:KeyboardEvent ) :void
            {
                if( e.keyCode == Keyboard.DOWN || e.keyCode == Keyboard.ENTER)
                {                   
                    focusManager.getNextFocusManagerComponent().setFocus();

                }
                if(e.keyCode == Keyboard.UP)
                {
                    focusManager.getNextFocusManagerComponent(true).setFocus();
                }
            }

在Flash中,focusManager本身可能在该上下文中未定义。改成: 。evt.currentTarget.focusManager.getNextFocusManagerComponent()的setFocus();

答案 1 :(得分:-1)

尝试将tabbing组件放入数组中,然后手动更改焦点:

stage.focus = myComp;

stage.focus = myComps[currentCompOrderNumber+1];