Flex/Air : 할당되지 않은/비활성화 된 주요 단축키를 자동으로 흡수
-
03-07-2019 - |
문제
나는 에어 앱이 있습니다 <mx:HTML>
구성 요소는 an을 포함하는 페이지를 렌더링합니다 HTML/Javascript
기반을 둔 WYSIWYG/rich-text editor
. 다양한 키보드 바로 가기가 서식 및 귀하가 무엇을 위해 할당되었지만, 내가 할당되지 않은 단축키를 입력하는 경우
(예를 들어 CMD 또는 [Ctrl 키 Windows에서] + 중),
수정 자 키가 누르지 않은 것처럼 캐릭터가 입력됩니다. 바로 가기가 할당되었지만 메뉴 항목이 비활성화 된 경우에도 마찬가지입니다.
수정자를 누르지 않음을 감지하는 가장 좋은 방법은 무엇입니까? 그러나 바로 가기가 할당되지 않았으며 수정 자 키없이 HTML보기로 전달하기보다는 무시해야합니까?
해결책
신경 쓰지 말아요, 나는 그것을 알아 냈습니다. 분명히 메뉴 시스템은 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();
}
});
제휴하지 않습니다 StackOverflow