Pergunta

Eu tenho um aplicativo AIR com um componente <mx:HTML>, o que torna uma página que inclui uma HTML/Javascript baseado WYSIWYG/rich-text editor. Vários atalhos de teclado são atribuídos para a formatação eo que você tem, mas se eu digitar um atalho que não é atribuído
( por exemplo, cmd ou [ Ctrl no Windows] + M ),
o personagem é inserido como se nenhuma tecla modificadora foi pressionado. Isto é verdade mesmo se o atalho é atribuído, mas seu item de menu está desativado.

O que é a melhor maneira de detectar que um modificador é pressionado, mas o atalho não é atribuído e deve ser ignorado, e não repassado para a vista HTML sem a tecla modificadora?

Foi útil?

Solução

Não importa, eu descobri-lo. Aparentemente, o sistema de menu opera mesmo se você evitar a ação padrão na 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();
    }
});
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top