AS3 - 输出什么对象有键盘焦点?

时间:2009-04-27 07:18:17

标签: flash actionscript-3 keyboard focus

我遇到了AS3和键盘焦点的问题,我想知道是否有一个变量或我可以使用的函数,它会输出到屏幕上当前有键盘焦点的对象名称?

2 个答案:

答案 0 :(得分:4)

您可以通过FocusManager完成此操作。然后你可以简单地调用getFocus函数。 我把一个快速的例子放在一起,每秒显示当前的焦点,实际上毫无意义,但它会告诉你它是如何工作的:

import fl.managers.FocusManager;
var focus:FocusManager = new FocusManager(this);

function traceFocus():void
{
    trace(focus.getFocus())
}


setInterval(traceFocus,1000);

只需将此代码放在根目录中,然后将某些输入框放在舞台上即可。 另外,请查看the documentation

答案 1 :(得分:1)

这也有效:

if (stage.focus) { trace (stage.focus.name); }

请注意,如果您正在使用TextInput组件并在用户单击它时期望其名称,您实际上将获得TextInput的子TextField的实例名称(它将具有任意名称,如 instance88 ),因此您应该使用 stage.focus.parent.name 来获取TextInput本身的正确实例名称。