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 | Sí | 9.0 | Sí | Sí | Sí |
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 |
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