1

我有一个带有<mx:HTML>组件的 AIR 应用程序,它呈现一个包含HTML/Javascript基于WYSIWYG/rich-text editor. 为格式化分配了各种键盘快捷键以及您有什么,但如果我键入一个未分配的快捷键
例如 cmd或 [ctrl在 Windows 上] + M),
则输入字符就像没有按下修饰键一样。如果分配了快捷方式但其菜单项被禁用,这甚至是正确的。

检测按下修饰符但未分配快捷方式并且应该忽略而不是在没有修饰键的情况下传递到 HTML 视图的最佳方法是什么?

4

1 回答 1

1

没关系,我想通了。显然,即使您阻止了 KeyboardEvent 上的默认操作,菜单系统也会运行:

public var OperatingSystem:String = !!NativeApplication.supportsDockIcon ?
    'mac' :
    !!NativeApplication.supportsSystemTrayIcon ?
    'win' :
    'other';

stage.addEventListener('keyDown', function(e:KeyboardEvent):void {
    if(e[(OperatingSystem == 'mac' ? 'commandKey' : 'ctrlKey')]) {
        e.preventDefault();
    }
});
于 2008-10-14T19:19:17.563 回答