我在使用 AS3 和键盘焦点时遇到问题,我想知道是否有可以使用的变量或函数来输出屏幕上当前具有键盘焦点的对象的名称?
问问题
5710 次
2 回答
4
您可以通过 FocusManager 来完成。然后您可以简单地调用 getFocus 函数。我整理了一个快速示例,它每秒显示当前焦点,尽管它确实毫无意义,但它向您展示了它是如何工作的:
import fl.managers.FocusManager;
var focus:FocusManager = new FocusManager(this);
function traceFocus():void
{
trace(focus.getFocus())
}
setInterval(traceFocus,1000);
只需将此代码放在根目录中,然后将一些输入框放在舞台上,它应该可以工作。另外,查看文档
于 2009-04-27T08:12:13.940 回答
1
这也有效:
if (stage.focus) { trace (stage.focus.name); }
请注意,如果您使用 TextInput 组件并在用户单击它时期望它的名称,您实际上将获得 TextInput 的子 TextField 的实例名称(它将具有像instance88这样的任意名称),因此您应该使用stage.focus.parent.name以获取 TextInput 本身的正确实例名称。
于 2012-02-20T17:39:25.720 回答