Tecnología

Inicio

La combinación de teclas de acceso rápido JavaScript

En algunas aplicaciones Web, pulsando una sola tecla de acceso directo o una combinación de teclas de acceso rápido activa una acción por la aplicación. teclas de acceso rápido estándar incluyen "Ctrl-X" para mover el texto al portapapeles, "Alt-F4" para cerrar una ventana y "Shift-F5" para forzar una actualización de ventana completa. La detección de la combinación de teclas de acceso rápido que se presiona en JavaScript es más complicado de lo que cabría esperar. Requisitos del navegador tempranos no incluyen detalles tales como el valor a utilizar en el etiquetado de cada tecla en el teclado, y diferentes empresas utilizan diferentes valores para las mismas claves. Si bien se puede seguir un enfoque recomendado para el control de teclas de acceso rápido que fueron presionados, compruebe los valores y la diferencia en los valores a través de navegadores web.

teclas de acceso rápido

Una tecla de acceso directo es una clave que desencadena algún tipo de acción en una aplicación cuando se presiona. Por ejemplo, un juego podría utilizar "z" y "c" como teclas de acceso rápido para hacer girar un objeto a izquierda y derecha. Algunas aplicaciones utilizan una combinación de teclas de acceso rápido mediante la combinación de caracteres alfanuméricos estándar con otras teclas especiales, por ejemplo, G "" y la flecha hacia arriba. Tres teclas especiales, "Ctrl", "Alt" y "Shift", se utilizan a menudo con teclas de acceso rápido de combinación. Por ejemplo, "Ctrl-S" se utiliza a menudo como una tecla de acceso directo para la combinación "Guardar". teclas de acceso rápido de combinación pueden incluir más de una llave especial, como en "Ctrl-Alt-P".

Código clave y charCode

Cada carácter imprimible tiene un código ASCII numérico asignado a él, llamado el charCode. Cada tecla del teclado también tiene un código numérico asignado a la que llamó un código clave. Los dos no son siempre los mismos. Por ejemplo, la "a" minúscula "A" mayúscula y tienen diferentes charCodes pero comparten el mismo código clave. Los caracteres no imprimibles, como las flechas arriba y abajo no tienen un charCode en absoluto.

Eventos de teclado

En JavaScript, cuando se pulsa una tecla, se desencadena una serie de eventos. JavaScript establece las propiedades de un objeto de evento para proporcionar información sobre el evento. Un evento "keydown" sucede cuando se presiona una tecla y un evento "keyup" se activa cuando se suelta la tecla. Mientras que la tecla se mantiene pulsada, un evento de "pulsación" se activa continuamente. Durante este evento, la mayoría de los navegadores proporcionan el valor charCode de la tecla que se presiona. Durante un evento KeyDown o KeyUp, la mayoría de los navegadores establecen el valor del código clave de la clave que desencadenó el evento. Para los tres eventos, una propiedad adicional llamada ", que" por lo general se establece en el valor Unicode de la tecla pulsada, incluyendo teclas especiales. La mayoría de los navegadores también establecen tres flagss - ctrlKey, altKey y shiftKey - que indica la tecla que se mantiene presionado cuando el evento disparado.

Las diferencias de navegador

Seleccionando el evento y la propiedad que se usa para determinar la combinación de teclas de acceso rápido de JavaScript que fueron presionados puede ser un desafío. Por desgracia, no todos los navegadores Web interpretan o implementan las especificaciones del navegador de forma idéntica. Como resultado, Chrome, Firefox, Internet Explorer, Opera y Safari no activan los mismos acontecimientos o utilizan los mismos códigos de teclas para cada tecla. Por ejemplo, Internet Explorer no proporciona la charCode, sólo el código clave. Firefox sólo proporciona el código clave durante la pulsación de tecla y proporciona la charCode para keydown y keyup. El código de tecla para la tecla de colon es de 59 en Firefox y 186 en Internet Explorer y Safari. La mayor parte de las diferencias, sin embargo, existen para las teclas que no sean "a" a la "z", "A" a la "Z", "0" a "9", "Ctrl", "Alt" y "Shift".

La determinación de teclas de acceso rápido

Utilice una biblioteca externa como jQuery, Prototype, Dojo o MooTools cuando se necesita para realizar un seguimiento de una combinación de teclas de acceso rápido de JavaScript que incluye teclas especiales, debido a que estas bibliotecas en general, manejar las conversiones entre los navegadores y tienen una sola propiedad del objeto de referencia. Para determinar la combinación de teclas que desencadenó el evento sin biblioteca, utilice el evento "pulsación" y comprobar la ", que" la propiedad. Si esa propiedad es cero o no está definida, compruebe la propiedad "código clave". Compare ese valor al valor de su tecla de acceso directo, compruebe las banderas ctrlKey, altKey y shiftKey, y determinar si se ha pulsado la combinación de teclas de acceso rápido de JavaScript.