【发布时间】:2010-11-25 08:21:42
【问题描述】:
我有一个 flex 应用程序,其中包含许多自定义组件,例如自定义按钮、组合框等。我正在尝试将 keyBoard 快捷方式添加到 flex 应用程序。为此,我在应用程序中添加了一个按键监听器来监听 ctrl+shift 组合键,如下所示:
this.stage.addEventListener(KeyboardEvent.KEY_DOWN, handleKeyDown);
然后我调度一个所有自定义组件都在监听的自定义事件:
private function reportKeyDown(event:KeyboardEvent):void
{
var evtObj:Object = new Object();
evtObj.keyEvent = event;
dispatchEvent(new CustomEvent(CustomEvent.SHORTCUT_KEYS_PRESSED, evtObj, true, false));
}
在我的自定义按钮组件中,我有:
this.addEventListener(CustomEvent.SHORTCUT_KEYS_PRESSED, ShortCutKeysHandler, true);
所以,如果我去ctrl+shift+W,那么我希望自定义按钮的一个实例被点击。
由于某种原因,该事件永远不会被触发,也永远不会到达ShortCutKeysHandler 函数。
有人知道怎么做吗?
【问题讨论】:
标签: apache-flex actionscript-3