KeyboardEvent keyCode-ominaisuus

Määritelmä ja käyttö

keyCode-ominaisuus palauttaa laukaisevan onkeypress-tapahtuma näppäimen Unicode-merkkikoodi tai joka laukaisee onkeydown tai onkeyup-tapahtuma näppäimen Unicode-näppäinkoodi.

Kahden koodityypin ero:

  • 字符代码 - edustaa ASCII-merkkejä oleva numero
  • Näppäinkoodit - edustavat näppäimistön todellisen näppäimen numeroa

Nämä tyypit eivät aina tarkoita samaa asiaa. Esimerkiksi pieni "w" ja suuri "W" näppäimistökoodi ovat samat, koska painettu näppäin on sama ("W" = numero "87"), mutta merkkikoodi on eri, koska resulting merkkikoodi on eri ("w" tai "W", eli "119" tai "87") - katso alla olevat esimerkit, jotta voit ymmärtää tämän paremmin.

Vinkki:Jos haluat tietää, onko painettu näppäin tulostettava (esim. "a" tai "5"), käytä tätä ominaisuutta onkeypress -tapahtumassa. Jos haluat tietää, onko painettu toiminnallinen näppäin (esim. "F1", "CAPS LOCK" tai "Home"), käytä onkeydown tai onkeyup -tapahtumia.

Huomautus:Firefoxissa keyCode -ominaisuus ei vaikuta onkeypress -tapahtumaan (palauttaa vain 0). Yksilöllisille selaimille suositellaan which -ominaisuusKäytä keyCode:n yhdessä

var x = event.which || event.keyCode;  // Käytä which tai keyCode riippuen selaimen tuesta

Vinkki:Kaikkien Unicode-merkkien luettelo löytyy Täydellinen Unicode-viite.

Vinkki:Jos haluat muuntaa Unicode-arvon merkiksi, käytä fromCharCode() -menetelmä.

Huomautus:Tämä ominaisuus on luettavuudessa.

Huomautus:keyCode ja which -ominaisuudet tarjotaan yhteensopivuuden vuoksi. Uusimmat DOM-tapahtumastandardit suosittelevat käyttämään key-ominaisuutta (jos saatavilla).

Vinkki:Jos haluat tietää, onko "ALT", "CTRL", "META" tai "SHIFT"-näppäin painettu tapahtumahetkellä, käytä altKeyjactrlKey/ jametaKey tai shiftKey Ominaisuudet.

Esimerkki

Esimerkki 1

Hanki painetun näppäimen Unicode-arvo:

var x = event.keyCode;

Kokeile itse

Esimerkki 2

Käytä onkeypress ja onkeydown -ominaisuuksia osoittaaksesi eroa merkkikoodien ja näppäimistökoodien välillä:

<input type="text" onkeypress="uniCharCode(event)" onkeydown="uniKeyCode(event)"> 
function uniCharCode(event) {
  var char = event.which || event.keyCode;
  document.getElementById("demo").innerHTML = "Unicode CHARACTER code: " + char;
}
function uniKeyCode(event) {
  var key = event.keyCode;
  document.getElementById("demo2").innerHTML = "Unicode KEY code: " + key;
}

Painamalla näppäimistön "a"-näppäintä (ei käytetä Capslockia) char ja key-tulosten tulisi olla:

Unicode CHARACTER code: 97
Unicode KEY code: 65

Kokeile itse

Esimerkki 3

Jos käyttäjä painaa Escape-näppäintä, näytä joitakin tekstejä:

<input type="text" onkeydown="myFunction(event)"> 
function myFunction(event) {
  var x = event.keyCode;
  if (x == 27) {  // 27 on ESC-näppäin
    alert ("Painit Escape-näppäimen!");
  }
}

Kokeile itse

Esimerkki 4

Muunna Unicode-arvo merkiksi (ei sovellu toiminnallisille näppäimille):

var x = event.keyCode;                // Hae Unicode-arvo
var y = String.fromCharCode(x);       // Muunna arvo merkiksi

Kokeile itse

Syntaksi

event.keyCode

Tekninen yksityiskohta

Palautusarvo: Numeroinen arvo, joka edustaa Unicode-merkkikoodia tai Unicode-näppäinkoodia.
DOM-versio: DOM Level 2 Events

Selaimen tuki

Ominaisuudet Chrome IE Firefox Safari Opera
keyCode Tuki Tuki Tuki Tuki Tuki

Liittyvät sivut

HTML DOM -viittauskirja:KeyboardEvent key-ominaisuus

HTML DOM -viittauskirja:KeyboardEvent charCode-ominaisuus

HTML DOM -viittauskirja:KeyboardEvent which-ominaisuus