Tecnología

Inicio

Cómo convertir KeyCode a ASCII con JavaScript

La capacidad para detectar las pulsaciones de teclado de un visitante del sitio puede ayudarle a construir más aplicaciones Web interactivas. Un programa de juego, por ejemplo, puede necesitar saber los caracteres presiona un usuario con el fin de controlar el juego. Los navegadores saben los valores decimales de los caracteres. El valor decimal 68, por ejemplo, representa el carácter ASCII mayúsculas "D." Su aplicación puede examinar los valores decimales y convertirlos a sus equivalentes ASCII usando JavaScript.

Instrucciones

1 Lanzar su editor de HTML y abrir un documento HTML.

2 Crear un cuadro de texto al añadir este código a la sección "cuerpo" del documento:

<Input type = "text" size = "20" onkeyup = "showKeyPressed (evento);" />

El evento "onkeyup" llama la "showKeyPressed" función de JavaScript cuando se escribe algo en el cuadro de texto.

3 Añadir el código JavaScript a la sección del documento "<head>":

función showKeyPressed (e) {

var keyPressed;

si (e.keyCode)

keyPressed = e.keyCode;

más

keyPressed = e.charCode;

var = KeyAscii String.fromCharCode (keyPressed);

alert ( "Código clave =" + + keyPressed "- Su valor ASCII es" + KeyAscii);

}

Esta función recibe el "onkeyup" evento enviado por el cuadro de texto y lo convierte a ASCII usando la función "fromCharCode".

4 Guarde el documento y verlo en un navegador. Escriba cualquier carácter en el cuadro de texto. Un mensaje de alerta muestra el valor numérico de la tecla pulsada junto con el valor ASCII de la tecla.

Consejos y advertencias

  • Este ejemplo muestra cómo examinar pulsaciones de teclado introducidas en un cuadro de texto y las convierte a ASCII. Esto funciona con otros controles de entrada, así como este tipo de cajas del texto. Basta con añadir el onkeyup = "showKeyPressed (evento);" evento a la etiqueta HTML, y la función de JavaScript procesarán el evento al igual que lo hace con el cuadro de texto. La siguiente declaración se muestra cómo configurar un control área de texto:
  • <Textarea id = "filas TextArea1" = "2" cols = "20" onkeyup = "showKeyPressed (evento);"> </ textarea>