我正在开发一个AIR 2.0应用程序,并希望将一个非活动超时功能放入其中。 (即:如果用户没有按键5分钟,那么应用程序会将用户注销。我已经实现了flash.utils库中可用的本机超时功能,并监听鼠标或键盘事件以清除/重置在我的主MXML中超时。唯一的问题是我的应用程序使用TitleWindows并且键盘事件似乎没有冒泡(或返回)到我正在侦听它们的主Mxml中。因此我的应用程序认为存在不活动状态即使在标题窗口中触发了键和鼠标事件。
有没有办法可以在全球范围内听取键盘和鼠标事件?将侦听器添加到每个TitleWindow(并检查它是否打开)的前景似乎相当令人生畏。
非常感谢您的帮助。
答案 0 :(得分:0)
从UIComponent中的任何位置(可能是主UI类):
private function onCreationComplete():void
{
stage.addEventListener(KeyboardEvent.DOWN, onKeyboard);
}
private function onKeyboard(e:KeyboardEvent):void
{
// do something
}
答案 1 :(得分:0)
我认为你遇到一个总是令人沮丧的焦点问题,请在这里查看我的答案 -
Event listener to keyboard event not listening in a module
尝试在答案底部的textinput建议,以测试这是否是问题。