我有一个带有<mx:HTML>
组件的AIR应用,该应用会呈现包含基于HTML/Javascript
WYSIWYG/rich-text editor
的网页。各种键盘快捷键被指定用于格式化和你有什么,但如果我键入一个未分配的快捷方式(例如 cmd 或[ ctrl 在Windows上] + M ),输入的字符就像没有按下修改键一样。如果已分配快捷方式但其菜单项已禁用,则甚至是这样。
检测到修改器被按下的最佳方法是什么,但是没有分配快捷方式,应该忽略该快捷方式而不是在没有修改键的情况下传递给HTML视图?
答案 0 :(得分: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();
}
});