Como he tenido de desarrollar una pequeña aplicación en JavaScript y la verdad es que tenía un poco olvidado esto de los eventos de teclado, he tenido que buscarlos por internet. Como siempre para que no se me olvide los pongo aquí para tenerlos más a mano. Es evidente que no son los únicos que se pueden utilizar, pero son los que a mi me han valido para el pequeño proyecto que me traía entre manos.
Eventos de teclado JavaScrip
Diré que los eventos de teclado se activan cuando un usuario interactúa con el teclado del ordenador.
Eventos Descripción
input Se dispara cuando el valor de un <textarea> o <input> cambian.
keydown Se dispara cuando el usuario presiona cualquier tecla del teclado, si el usuario mantiene la tecla presionada el evento continuará disparándose.
keypress Se dispara cuando un usuario presiona una tecla y cómo resultado nos mostrará un carácter en pantalla.
keyup Se dispara cuando el usuario deja (suelta) la tecla del teclado.
Ejemplo de código, el siguiente código nos dirá cual fue la última tecla que presiono el usuario en formato código ASCII con el evento keypress.
var el; // Declaramos la variable
function charCount(e) { // Declaramos la funcion
var textEntered, charDisplay, counter, lastKey; // Declaramos variables
textEntered = document.getElementById('message').value; // Texto del usuario
charDisplay = document.getElementById('charactersLeft'); // Elemento contador
counter = (180 -(textEntered.length)); // Numero de caracteres izquierdos
charDisplay.textContent = counter; // Mostrar caracteres
lastKey = document.getElementById('lastkey'); // Obtener la ultima tecla usada
lastkey.textContent = 'La ultima tecla en ASCII fue: ' + e.keyCode; // Crear mensaje
}
el = document.getElementById('message'); // Obtener mensaje
el.addEventListener('keypress', charCount, false); // Evento keypress