Em algumas aplicações Web, pressionando uma única tecla de atalho ou uma combinação de teclas de atalho desencadeia uma ação pela aplicação. Hotkeys padrão incluem " Ctrl- X" para mover o texto para a área de transferência , " Alt + F4 " para fechar uma janela e " Shift + F5" para forçar uma atualização da janela completa. Detectando a combinação de teclas de atalho que foram prensadas em JavaScript é mais complicado do que você poderia esperar. Requisitos iniciais navegador não incluir detalhes como o valor a ser usado em rotular cada tecla no teclado, e diferentes empresas utilizaram diferentes valores para as mesmas teclas. Enquanto você pode seguir uma abordagem recomendada para a verificação hotkeys que foram pressionados , verifique os valores e a diferença de valores entre browsers. Teclas de atalho
A hotkey é uma chave que aciona algum tipo de ação em um aplicativo quando é pressionado . Por exemplo, um jogo pode usar o " z" e " c ", como teclas de atalho para girar um objeto para a esquerda e direita. Alguns aplicativos usam uma combinação de teclas de atalho , combinando caracteres alfanuméricos padrão com outras teclas especiais , por exemplo, G " " e com a seta para cima. Três teclas especiais , "Ctrl ", "Alt " e " Shift " são freqüentemente usados com teclas de atalho de combinação. Por exemplo, "Ctrl -S" é frequentemente utilizado como um atalho combinação de " Salvar". Hotkeys de combinação pode incluir mais de uma chave especial , como em " Ctrl- Alt -P. "
< Br >
Keycode e CharCode
Cada personagem tem uma impressão de código ASCII numérico atribuído a ele , chamado de CharCode . Cada tecla no teclado também tem um código numérico atribuído a ele chamado um código de acesso . Os dois não são sempre as mesmas . Por exemplo, a letra minúscula "a" e "A" maiúsculo têm diferentes charCodes mas compartilham o mesmo código. Caracteres não- imprimíveis , como as setas para cima e para baixo não têm um CharCode em tudo.
Eventos do Teclado
JavaScript, quando uma tecla é pressionado , desencadeia uma série de acontecimentos . JavaScript define propriedades de um objeto de evento para fornecer informações sobre o evento. Um evento " KeyDown " acontece quando uma tecla é pressionada para baixo e um evento de " keyup " é acionado quando a tecla é liberada . Enquanto a tecla é pressionada , um evento " keypress " é continuamente acionado. Durante o evento , a maioria dos navegadores fornecer o valor CharCode da chave que está sendo pressionado. Durante um evento KeyDown ou keyup , a maioria dos navegadores de definir o valor do código de tecla da chave que disparou o evento. Para todos os três eventos , uma propriedade adicional chamado de " o que " é geralmente definido como o valor unicode da tecla pressionada , incluindo teclas especiais . A maioria dos navegadores também definir três flagss - ctrlKey , tecla Alt e shiftKey - indicando a chave que foi pressionada quando o evento disparado
navegador Diferenças
Seleção do evento. e propriedade para usar na determinação da combinação de teclas de acesso JavaScript que foram prensados pode ser um desafio . Infelizmente , nem todos os navegadores da Web interpretar ou implementar especificações do navegador de forma idêntica. Como resultado, o Chrome , Firefox, Internet Explorer, Opera e Safari não desencadear os mesmos eventos ou usar os mesmos códigos de tecla para cada chave. Por exemplo , o Internet Explorer nunca fornece a CharCode , apenas o código de acesso . Firefox só fornece a senha durante keypress e fornece a CharCode para keydown e keyup . O código de acesso para a chave de dois pontos é de 59 no Firefox e 186 no Internet Explorer e Safari. A maioria das diferenças , no entanto , existem outras que " a" a " z", " A" a " Z " , " 0 " a " 9 ", teclas " Ctrl " "Alt" e " Shift. "
Determinar Hotkeys
Use uma biblioteca externa , como jQuery, Prototype, Dojo ou MooTools quando você precisa controlar um combinação de teclas de atalho JavaScript que inclui teclas especiais , porque essas bibliotecas em geral, lidar com as conversões entre os navegadores e tem uma única propriedade do objeto para fazer referência . Para determinar a tecla de atalho que disparou o evento sem uma biblioteca , use o evento " keypress " e marque a ", que " a propriedade . Se essa propriedade é zero ou indefinido , verifique a propriedade " código de acesso " . Compare esse valor para o valor de seu atalho , verifique a ctrlKey , altKey e bandeiras shiftKey , e determinar se a combinação de teclas de atalho JavaScript foi pressionado.