Los últimos tutoriales de desarrollo web
 

KeyboardEvent which Property

<Objeto de evento

Ejemplo

Obtener el valor Unicode de la tecla del teclado que se pulsa:

var x = event.which;

El resultado de x podría ser:

119   // 119 is the character "w"
Inténtalo tú mismo "

Más "Try it Yourself" ejemplos a continuación.


Definición y Uso

La propiedad, que devuelve el código de caracteres Unicode de la tecla que activa la onkeypress evento o el código de clave de Unicode de la tecla que activa la onkeydown o onkeyup evento.

La diferencia entre los dos tipos de códigos:

  • Los códigos de caracteres - Un número que representa un carácter ASCII
  • códigos clave - Un número que representa una llave real en el teclado

Estos tipos no siempre significan lo mismo; por ejemplo, una caja inferior "w" y una caja superior "W" tienen el mismo código de teclado, porque la clave que se presiona en el teclado es el mismo (just "W" = the number "87") , pero una diferente código de carácter, porque el carácter resultante es diferente (ya sea "w" o "W" , que es "119" o "87") - Ver "More Examples" a continuación para entender mejor esta enfermedad.

Consejo: Para averiguar si el usuario está presionando una tecla para imprimir (por ejemplo, "a" o "5"), se recomienda utilizar esta propiedad en el caso onkeypress. Para averiguar si el usuario está presionando una tecla de función (por ejemplo, "F1" , "CAPS LOCK" o "Inicio") utilizan el onkeydown o onkeyup evento.

Nota: La propiedad, que no se admite en IE8 y anteriores. Por estas versiones de navegadores, se puede utilizar el keyCode propiedad. Sin embargo, la propiedad keyCode no funciona en el caso onkeypress en Firefox. Para una solución multi-navegador, puede utilizar el siguiente código:

var x = event.which || event.keyCode;  // Use either which or keyCode , depending on browser support

Consejo: Para obtener una lista de todos los caracteres Unicode, por favor estudiar nuestra completa Unicode de referencia .

Consejo: Si desea convertir el valor Unicode devuelto en un carácter, utilice el fromCharCode() método.

Nota: Esta propiedad es de sólo lectura.

Nota: Tanto el cual y keyCode propiedad se proporciona por compatibilidad solamente. La última versión de la especificación de eventos DOM recomienda el uso de la clave de propiedad en lugar (if available) .

Consejo: Si desea averiguar si el "ALT" , "CTRL" , "META" o "SHIFT" ha pulsado la tecla cuando se produjo un acontecimiento clave, utilice el altKey , ctrlKey , metakey o shiftKey propiedad.


Soporte del navegador

Los números de la tabla especifican la primera versión del navegador que es totalmente compatible con la propiedad.

Propiedad
which 9.0

Sintaxis

event .which

Detalles técnicos

Valor de retorno: Un número, que representa ya sea un código de caracteres Unicode o el código de la llave Unicode
DOM Versión: DOM nivel 2 Eventos

Ejemplos

Más ejemplos

Ejemplo

Usando onkeypress y onkeydown para demostrar las diferencias entre los códigos de caracteres y códigos de teclado:

<input type="text" onkeypress="uniCharCode(event)" onkeydown="uniKeyCode(event)">

function uniCharCode(event) {
    var char = event.which || event.keyCode; // event.keyCode is used for IE8 and earlier
    document.getElementById("demo").innerHTML = "Unicode CHARACTER code: " + char;
}

function uniKeyCode(event) {
    var key = event.which || event.keyCode; // event.keyCode is used for IE8 and earlier
    document.getElementById("demo2").innerHTML = "Unicode KEY code: " + key;
}

Al pulsar el "a" tecla en el teclado (not using caps lock) , el resultado de carbón y la clave será:

Unicode CHARACTER code: 97
Unicode KEY code: 65
Inténtalo tú mismo "

Ejemplo

Alertar a un texto si el usuario presiona la tecla Escape:

<input type="text" onkeydown="myFunction(event)">

function myFunction(event) {
    var x = event.which || event.keyCode; // event.keyCode is used for IE8 and earlier
    if (x == 27) {  // 27 is the ESC key
        alert ("You pressed the Escape key!");
    }
}
Inténtalo tú mismo "

Ejemplo

Convertir el valor Unicode en un personaje (does not work for function keys) :

var x = event.which || event.keyCode;   // Get the Unicode value
var y = String.fromCharCode(x);         // Convert the value into a character
Inténtalo tú mismo "

Páginas relacionadas

Referencia HTML DOM: KeyboardEvent key Property

Referencia HTML DOM: KeyboardEvent keyCode Property

Referencia HTML DOM: KeyboardEvent charCode Property


<Objeto de evento