代码之家  ›  专栏  ›  技术社区  ›  eyelidlessness

Flex/AIR:自动吸收未分配/禁用的快捷键

  •  1
  • eyelidlessness  · 技术社区  · 16 年前

    我有一个带有 <mx:HTML> 组件,它呈现包含 HTML/Javascript 基于 WYSIWYG/rich-text editor
    ( 或[ 控制键 在Windows上]+ M
    输入字符时,就好像没有按任何修改键一样。即使指定了快捷方式但禁用了其菜单项,也会出现这种情况。

    检测是否按下了修改器,但未指定快捷方式且应忽略该快捷方式,而不是在不使用修改器键的情况下将其传递到HTML视图的最佳方法是什么?

    1 回复  |  直到 9 年前
        1
  •  1
  •   eyelidlessness    16 年前

    没关系,我知道了。显然,即使您阻止键盘事件的默认操作,菜单系统也会运行:

    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();
        }
    });