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 qual propriedade

Exemplo

Obtenha o valor Unicode da tecla do teclado pressionada:

var x = event.which;

Mais exemplos de "Experimente você mesmo" abaixo.


Definição e uso

A propriedade which retorna o código de caractere Unicode da tecla que acionou o evento onkeypress ou o código de chave Unicode da chave que acionou o evento onkeydown ou onkeyup .

A diferença entre os dois tipos de código:

  • Códigos de caracteres - Um número que representa um caractere ASCII
  • Códigos de teclas - Um número que representa uma tecla real no teclado

Esses tipos nem sempre significam a mesma coisa; por exemplo, um "w" minúsculo e um "W" maiúsculo têm o mesmo código de teclado, porque a tecla pressionada no teclado é a mesma (apenas "W" = o número "87"), mas um código de caractere porque o caractere resultante é diferente (ou "w" ou "W", que é "119" ou "87") - Consulte "Mais exemplos" abaixo para entendê-lo melhor.

Dica: Para saber se o usuário está pressionando uma tecla imprimível (por exemplo, "a" ou "5"), é recomendável usar esta propriedade no evento onkeypress. Para saber se o usuário está pressionando uma tecla de função (por exemplo, "F1", "CAPS LOCK" ou "Home"), use o evento onkeydown ou onkeyup.

Nota: A propriedade which não é suportada no IE8 e versões anteriores. Para essas versões do navegador, você pode usar a propriedade keyCode . No entanto, a propriedade keyCode não funciona no evento onkeypress no Firefox. Para uma solução entre navegadores, você pode usar o seguinte código:

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

Dica: Para obter uma lista de todos os caracteres Unicode, estude nossa Referência Unicode Completa .

Dica: Se você deseja converter o valor Unicode retornado em um caractere, use o método fromCharCode() .

Nota: Esta propriedade é somente leitura.

Observação: a propriedade which e keyCode é fornecida apenas para compatibilidade. A versão mais recente da especificação de eventos do DOM recomenda o uso da propriedade key (se disponível).

Dica: Se você quiser saber se a tecla "ALT", "CTRL", "META" ou "SHIFT" foi pressionada quando ocorreu um evento de tecla, use a propriedade altKey , ctrlKey , metaKey ou shiftKey .


Suporte ao navegador

Os números na tabela especificam a primeira versão do navegador que oferece suporte total à propriedade.

Property
which Yes 9.0 Yes Yes Yes


Sintaxe

event.which

Detalhes técnicos

Valor de retorno: Um número, representando um código de caractere Unicode ou o código de chave Unicode
Versão DOM: Eventos DOM Nível 2

Mais exemplos

Exemplo

Usando onkeypress e onkeydown para demonstrar as diferenças entre códigos de caracteres e 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;
}

Ao pressionar a tecla "a" do teclado (sem usar caps lock), o resultado de char e key será:

Unicode CHARACTER code: 97
Unicode KEY code: 65

Exemplo

Alerte algum texto se o usuário pressionar a 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!");
  }
}

Exemplo

Converta o valor Unicode em um caractere (não funciona para teclas de função):

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

Páginas relacionadas

Referência HTML DOM: propriedade da chave KeyboardEvent

Referência HTML DOM: propriedade keyCode KeyboardEvent

Referência HTML DOM: propriedade KeyboardEvent charCode