JS Reference

JS by Category JS by Alphabet

JavaScript

JS Array JS Boolean JS Classes JS Date JS Error JS Global JS JSON JS Math JS Number JS Operators JS RegExp JS Statements JS String

Window

Window Object Window Console Window History Window Location Window Navigator Window Screen

HTML DOM

DOM Document DOM Element DOM Attributes DOM Events DOM Event Objects DOM HTMLCollection DOM Style
alignContent alignItems alignSelf animation animationDelay animationDirection animationDuration animationFillMode animationIterationCount animationName animationTimingFunction animationPlayState background backgroundAttachment backgroundColor backgroundImage backgroundPosition backgroundRepeat backgroundClip backgroundOrigin backgroundSize backfaceVisibility border borderBottom borderBottomColor borderBottomLeftRadius borderBottomRightRadius borderBottomStyle borderBottomWidth borderCollapse borderColor borderImage borderImageOutset borderImageRepeat borderImageSlice borderImageSource borderImageWidth borderLeft borderLeftColor borderLeftStyle borderLeftWidth borderRadius borderRight borderRightColor borderRightStyle borderRightWidth borderSpacing borderStyle borderTop borderTopColor borderTopLeftRadius borderTopRightRadius borderTopStyle borderTopWidth borderWidth bottom boxShadow boxSizing captionSide caretColor clear clip color columnCount columnFill columnGap columnRule columnRuleColor columnRuleStyle columnRuleWidth columns columnSpan columnWidth counterIncrement counterReset cursor direction display emptyCells filter flex flexBasis flexDirection flexFlow flexGrow flexShrink flexWrap cssFloat font fontFamily fontSize fontStyle fontVariant fontWeight fontSizeAdjust height isolation justifyContent left letterSpacing lineHeight listStyle listStyleImage listStylePosition listStyleType margin marginBottom marginLeft marginRight marginTop maxHeight maxWidth minHeight minWidth objectFit objectPosition opacity order orphans outline outlineColor outlineOffset outlineStyle outlineWidth overflow overflowX overflowY padding paddingBottom paddingLeft paddingRight paddingTop pageBreakAfter pageBreakBefore pageBreakInside perspective perspectiveOrigin position quotes resize right scrollBehavior tableLayout tabSize textAlign textAlignLast textDecoration textDecorationColor textDecorationLine textDecorationStyle textIndent textOverflow textShadow textTransform top transform transformOrigin transformStyle transition transitionProperty transitionDuration transitionTimingFunction transitionDelay unicodeBidi userSelect verticalAlign visibility width wordBreak wordSpacing wordWrap widows zIndex

Web APIs

API Console API Fullscreen API Geolocation API History API MediaQueryList API Storage

HTML Objects

<a> <abbr> <address> <area> <article> <aside> <audio> <b> <base> <bdo> <blockquote> <body> <br> <button> <canvas> <caption> <cite> <code> <col> <colgroup> <datalist> <dd> <del> <details> <dfn> <dialog> <div> <dl> <dt> <em> <embed> <fieldset> <figcaption> <figure> <footer> <form> <head> <header> <h1> - <h6> <hr> <html> <i> <iframe> <img> <ins> <input> button <input> checkbox <input> color <input> date <input> datetime <input> datetime-local <input> email <input> file <input> hidden <input> image <input> month <input> number <input> password <input> radio <input> range <input> reset <input> search <input> submit <input> text <input> time <input> url <input> week <kbd> <label> <legend> <li> <link> <map> <mark> <menu> <menuitem> <meta> <meter> <nav> <object> <ol> <optgroup> <option> <output> <p> <param> <pre> <progress> <q> <s> <samp> <script> <section> <select> <small> <source> <span> <strong> <style> <sub> <summary> <sup> <table> <tbody> <td> <tfoot> <th> <thead> <tr> <textarea> <time> <title> <track> <u> <ul> <var> <video>

Other References

CSSStyleDeclaration JS Conversion


KeyboardEvent qué propiedad

Ejemplo

Obtenga el valor Unicode de la tecla del teclado presionada:

var x = event.which;

Más ejemplos de "Pruébelo usted mismo" a continuación.


Definición y uso

La propiedad which devuelve el código de carácter Unicode de la tecla que activó el evento onkeypress , o el código de tecla Unicode de la tecla que activó el evento onkeydown o onkeyup .

La diferencia entre los dos tipos de código:

  • Códigos de caracteres: un número que representa un carácter ASCII
  • Códigos de tecla: un número que representa una tecla real en el teclado

Estos tipos no siempre significan lo mismo; por ejemplo, una "w" minúscula y una "W" mayúscula tienen el mismo código de teclado, porque la tecla que se presiona en el teclado es la misma (solo "W" = el número "87"), pero diferente. código de carácter porque el carácter resultante es diferente (ya sea "w" o "W", que es "119" o "87"). Consulte "Más ejemplos" a continuación para comprenderlo mejor.

Sugerencia: para averiguar si el usuario está presionando una tecla imprimible (por ejemplo, "a" o "5"), se recomienda utilizar esta propiedad en el evento onkeypress. Para averiguar si el usuario está presionando una tecla de función (por ejemplo, "F1", "BLOQ MAYÚS" o "Inicio"), use el evento onkeydown o onkeyup.

Nota: la propiedad which no es compatible con IE8 y versiones anteriores. Para estas versiones de navegador, puede usar la propiedad keyCode . Sin embargo, la propiedad keyCode no funciona en el evento onkeypress en Firefox. Para una solución de navegador cruzado, puede usar el siguiente código:

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

Sugerencia: para obtener una lista de todos los caracteres Unicode, estudie nuestra Referencia completa de Unicode .

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

Nota: Esta propiedad es de solo lectura.

Nota: Tanto la propiedad which como keyCode se proporcionan solo por compatibilidad. La última versión de la especificación de eventos DOM recomienda usar la propiedad clave en su lugar (si está disponible).

Sugerencia: si desea averiguar si se presionó la tecla "ALT", "CTRL", "META" o "SHIFT" cuando ocurrió un evento clave, use la propiedad altKey , ctrlKey , metaKey o shiftKey .


Compatibilidad con navegador

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

Property
which Yes 9.0 Yes Yes Yes


Sintaxis

event.which

Detalles técnicos

Valor de retorno: Un número, que representa un código de carácter Unicode o el código clave Unicode
Versión DOM: Eventos de nivel 2 de DOM

Más ejemplos

Ejemplo

Usando onkeypress y onkeydown para demostrar las diferencias entre 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 presionar la tecla "a" en el teclado (sin usar el bloqueo de mayúsculas), el resultado de char y key será:

Unicode CHARACTER code: 97
Unicode KEY code: 65

Ejemplo

Alerta algún 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!");
  }
}

Ejemplo

Convierta el valor Unicode en un carácter (no funciona para las teclas de función):

var x = event.which || event.keyCode;   // Get the Unicode value
var y = String.fromCharCode(x);         // Convert the value into a character

páginas relacionadas

Referencia HTML DOM: propiedad de la tecla KeyboardEvent

Referencia HTML DOM: KeyboardEvent keyCode Propiedad

Referencia HTML DOM: KeyboardEvent charCode Propiedad