KeyboardEvent which-ominaisuus
Määritelmä ja käyttö
which-ominaisuus palauttaa onkeypress-tapahtuma näppäimen Unicode-merkkikoodi tai joka onkeydown tai onkeyup Tapahtuman näppäimen Unicode-näppäin��
Kahden koodityypin ero:
- Merkki�� - edustaa ASCII-merkin numeroa
- Näppäin�� - edustaa näppäimistön todellisen näppäimen numeroa
Nämä tyypit eivät aina tarkoita samaa asiaa. Esimerkiksi pieni "w" ja ison "W" näppäin�� ovat samat, koska saman näppäimen on painettu ("W" = luku "87"), mutta merkki�� ovat eriä, koska tuloksena oleva merkki 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 käyttäjä painanut tulostettavaa näppäintä (esim. "a" tai "5"), suositellaan käyttämään tätä ominaisuutta onkeypress-tapahtumassa. Jos haluat tietää, onko käyttäjä painanut toiminnallista näppäintä (esim. "F1", "CAPS LOCK" tai "Home"), käytä onkeydown- tai onkeyup-tapahtumaa.
Huomautus:IE8 ja aikaisemmat versiot eivät tue which-ominaisuutta. Näille selaimen versioille voit käyttää keyCode-ominaisuutta. Mutta keyCode-ominaisuus ei toimi Firefoxissa onkeypress-tapahtumassa. Yksittäiselle selaimelle ratkaisuun voit käyttää seuraavaa koodia:
var x = event.which || event.keyCode; // Käytä whichia vai keyCodea 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 luettavissa.
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 tapahtuessaan näppäimistö tapahtuma, käytä altKeyjactrlKeyjametaKey tai shiftKey ominaisuus.
Esimerkki
Hanki painetun näppäimen Unicode-arvo:
var x = event.which;
Sivun alhaalla on lisää TIY-esimerkkejä.
Syntaksi
event.which
Tekninen yksityiskohta
Palautusarvo: | Numerovaranto, joka edustaa Unicode-merkkikoodia tai Unicode-näppäimistökoodia. |
---|---|
DOM-versio: | DOM Level 2 Events |
Selaimen tuki
Taulukossa olevat numerot osoittavat ensimmäisen selaimen version, joka tukee kyseistä ominaisuutta täysin.
Ominaisuus | Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|---|
which | Tukee | 9.0 | Tukee | Tukee | Tukee |
Lisää esimerkkejä
Esimerkki
Käytä onkeypress ja onkeydown -ominaisuuksia osoittaaksesi eroja 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; // event.keyCode käytetään IE8 ja aikaisemmissa versioissa document.getElementById("demo").innerHTML = "Unicode CHARACTER code: " + char; } function uniKeyCode(event) { var key = event.which || event.keyCode; // event.keyCode käytetään IE8 ja aikaisemmissa versioissa document.getElementById("demo2").innerHTML = "Unicode KEY code: " + key; }
Paina näppäimistön "a"-näppäintä (ei käytä Capslockia) ja char ja key tuloksena ovat:
Unicode CHARACTER code: 97 Unicode KEY code: 65
Esimerkki
Jos käyttäjä painaa Escape-näppäintä, näytä jotain tekstiä:
<input type="text" onkeydown="myFunction(event)"> function myFunction(event) { var x = event.which || event.keyCode; // event.keyCode käytetään IE8 ja aikaisemmissa versioissa if (x == 27) { // 27 on ESC-näppäin alert ("Painit Escape-näppäimen!"); } }
Esimerkki
Muunna Unicode-arvo merkiksi (ei sovellu toiminnallisille näppäimille):
var x = event.which || event.keyCode; // Hae Unicode-arvo var y = String.fromCharCode(x); // Muunna arvo merkiksi
Liittyvät sivut
HTML DOM viittomakirja:KeyboardEvent key -ominaisuus
HTML DOM viittomakirja:KeyboardEvent keyCode -ominaisuus
HTML DOM viittomakirja:KeyboardEvent charCode -ominaisuus