0

当我在谷歌上搜索我遇到的问题并且我完全找不到任何类似的东西时,这总是让我感到惊讶。事实上,我发现的唯一一篇描述相同问题的帖子可以在这里找到:Tabbing between fields - where does the cursor loses to?

不幸的是,这个问题没有得到回应,我也有同样的问题。唯一的主要区别是,我使用的是经典文本而不是 TLF 文本。

我的表单是在 as3 上设置的,带有 2 个输入字段。第一个将 tabIndex 设置为 0,第二个将其设置为 1。当我点击 tab 时,光标消失了。如果我再按2次,它终于出现了。

我将代码放在下面以观察发生了什么:

var iox = function() {
trace(_root.stage.focus);

if (_root.stage.focus != null) {
    trace(_root.stage.focus.parent.name)
}

setTimeout(iox, 400);
}

iox();

我希望看到可能隐藏的其他字段文件获得焦点或其他对象。但事实证明,唯一获得焦点的两个对象确实是我的输入框。输入 1 个字段后,仅按一次 Tab 将焦点切换到另一个字段。但是,闪烁的光标指示器以及在字段中输入文本的功能仅在第三次按下按钮后才会出现。

有任何想法吗?

4

2 回答 2

0

经过更多的挖掘和反复试验,我设法解决了这个问题。基本上我所要做的就是导入 FocusManager 类并激活它。在那之后,三重标签按钮就消失了。

import fl.managers.FocusManager;
var fm = new FocusManager(myclip);
myclip.txt1.tabIndex = 0;
myclip.txt2.tabIndex = 1;
于 2013-08-21T09:15:25.870 回答
0

检查显示列表上的任何其他项目是否将tabEnabled属性设置为 true。TabEnabled 属性描述buttonMode设置为 true 的MC已启用此功能。显然,当您检查时,列表中有两个具有此设置的对象。因此,要么执行手动检查,要么执行完整的显示列表遍历,至少查询name任何具有tabEnabledtrue 的对象的类名和属性。

于 2013-08-21T09:16:01.610 回答