我想在 AS3 Air 项目中创建一个启用选项卡的弹出窗口。目前,当我按 Tab 几次时,焦点会穿过弹出窗口中的所有组件,然后开始关注弹出窗口后面组件中的按钮和 TextField。我试图以两种方式解决这个问题,但都没有奏效。我将在这里解释这两种方法
我从这里阅读了 adobe 的文档的官方方法,它描述了在我的情况下我应该做的事情,如下所示:“每个模态窗口组件都包含一个 FocusManager 的实例,因此该窗口上的控件成为自己的选项卡集。这可以防止用户通过按 Tab 键无意中导航到其他窗口中的组件。”但我还是不明白如何使用焦点管理器。
- 我尝试通过将下面的代码放入构造函数中,在每个视图组件类中创建 FocusManager 的实例,但它不起作用:
_focusManager = new FocusManager(this);
- “模态窗口组件”是什么意思?
解决方法
我尝试的另一件事是,当父组件调度 FOCUS_IN 或 FOCUS_OUT 事件时,手动将每个按钮和 TextField 上的 tabEnabled 属性设置为 true 或 false。这适用于我在新闪存文件上创建的一个简单示例,但它不适用于我的大型项目,而且我不知道如何调试它。但是,我很乐意将其转储并返回到方法 1。
有没有人遇到过这些问题?您是否以任何其他方式使用了多个标签循环?现在欢迎任何提示,因为我在这个问题上浪费了太多时间。谢谢[编辑]我对这个问题有很多看法,但没有相关答案,所以我对其进行了编辑并尝试简化它