2008-09-15 11 views
7

Aplicación web ASP.NET 2.0, cómo implementar la combinación de teclas de acceso directo de CTRL + Letra, preferiblemente a través de JavaScript, para mejorar la ergonomía de la aplicación web. Cómo capturar eventos de teclado de teclas múltiples a través de JavaScript?cómo implementar la combinación de teclas de acceso directo de CTRL o MAYÚS + <letter> a través de javascript?

+0

ciertamente [esto] (http://stackoverflow.com/questions/16006583/capturing-ctrlz-key-combination-in-javascript) será útil –

Respuesta

2

Javascript tiene soporte para ctrl +alt +cambio llaves. Supongo que puedes descubrir el resto. Link.

5

Su función de detector de eventos obtiene un objeto Evento. Tiene mucha información útil, incluidas las propiedades "altKey", "ctrlKey", "shiftKey" y "metaKey". Si alguna de las teclas modificadoras se mantiene presionada cuando se activa ese evento, la propiedad correspondiente se establece en verdadero.

Esto se aplica tanto al teclado como a los eventos del mouse (onclick, etc.). Tenga en cuenta que si tiene un detector de eventos onkeydown, la tecla modificado activará el evento.

window.onkeyup = function(e) { 
    if (e.altKey) alert("Alt pressed"); 
    if (e.shiftKey) alert("Shift pressed"); 
} 

probado en Firefox 3, Windows XP.

-2

Sé que esto no está respondiendo a la pregunta original, pero aquí está mi consejo: ¡No utilice los atajos de combinación de teclas en una aplicación web!

¿Por qué? Porque podría romperse la usabilidad, en lugar de aumentarlo. Aunque generalmente se acepta que "acceso directo de una sola tecla" no se usa en los navegadores comunes (Opera lo elimina como predeterminado de su última versión principal), no se puede saber cuáles son, ni cuáles serán, los accesos directos de combinación de teclas utilizados por varios navegadores .

Además, si sus visitantes utilizan un navegador altamente personalizable, como Firefox u Opera, existe un alto riesgo de que hayan configurado sus propios accesos directos o utilicen complementos adicionales que definan algunos adicionales.

Tenga en cuenta que las aplicaciones web dependen del navegador y que NUNCA debe asumir que, si funciona en su navegador favorito, el más poderoso, reaccionará de la misma manera en el de su amigo.

10

La respuesta corta es que usa Javascript para capturar un evento de keydown y usa ese evento para disparar una función. artículos pertinentes:

Si está utilizando el jQuery library, sugeriría que nos fijamos en la HotKeys plugin para una cruzada solución de navegador

Sé que esto no es responder a la pregunta original, pero aquí es mi consejo: no utilizar métodos abreviados combinación de teclas en una aplicación web!

¿Por qué?Porque podría romperse la usabilidad, en lugar de aumentarlo. Aunque generalmente se acepta que "acceso directo de una sola tecla" no se usa en los navegadores comunes (Opera lo elimina como predeterminado de su última versión principal), no se puede saber cuáles son, ni cuáles serán, los accesos directos de combinación de teclas utilizados por varios navegadores .

Gizmo hace un buen punto. Hay información sobre las asignaciones de teclas de acceso utilizadas comúnmente en http://www.clagnut.com/blog/193/.

Si lo hace cambiar las teclas de acceso, aquí hay algunos artículos con buenas sugerencias de cómo hacerlo bien:

y usted puede encontrar esta página del Firefox's default Keyboard and Mouse Shortcuts útil (Another version de la misma información). Atajos de teclado para Internet Explorer 7 y Internet Explorer 6. Atajos de teclado for Operaand Safari.

Es más probable que tenga problemas con JAWS u otros lectores de pantalla que agregan más atajos de teclado.

Cuestiones relacionadas