KeyboardEvent which Property
Příklad
Získejte hodnotu Unicode stisknuté klávesy klávesnice:
var x = event.which;
Další příklady „Vyzkoušejte si to sami“ níže.
Definice a použití
Vlastnost which vrací kód znaku Unicode klíče, který spustil událost onkeypress , nebo kód klíče Unicode klíče, který spustil událost onkeydown nebo onkeyup .
Rozdíl mezi těmito dvěma typy kódů:
- Kódy znaků – Číslo, které představuje znak ASCII
- Kódy kláves – Číslo, které představuje skutečnou klávesu na klávesnici
Tyto typy neznamenají vždy totéž; například malá písmena „w“ a velká písmena „W“ mají stejný kód klávesnice, protože klávesa, která je stisknuta na klávesnici, je stejná (jen „W“ = číslo „87“), ale odlišná kód znaku, protože výsledný znak je jiný (buď „w“ nebo „W“, což je „119“ nebo „87“) – pro lepší pochopení viz „Další příklady“ níže.
Tip: Chcete-li zjistit, zda uživatel mačká tisknutelnou klávesu (např. "a" nebo "5"), doporučuje se použít tuto vlastnost u události onkeypress. Chcete-li zjistit, zda uživatel mačká funkční klávesu (např. "F1", "CAPS LOCK" nebo "Home"), použijte událost onkeydown nebo onkeyup.
Poznámka: Vlastnost která není podporována v IE8 a dřívějších verzích. Pro tyto verze prohlížeče můžete použít vlastnost keyCode . Vlastnost keyCode však nefunguje na události onkeypress ve Firefoxu. Pro řešení pro různé prohlížeče můžete použít následující kód:
var x = event.which || event.keyCode; // Use either which or keyCode, depending on browser support
Tip: Seznam všech znaků Unicode naleznete v naší Kompletní referenční příručce Unicode .
Tip: Pokud chcete převést vrácenou hodnotu Unicode na znak, použijte metodu fromCharCode() .
Poznámka: Tato vlastnost je pouze pro čtení.
Poznámka: Vlastnost which i keyCode jsou poskytovány pouze z důvodu kompatibility. Nejnovější verze specifikace událostí DOM doporučuje místo toho použít vlastnost key (pokud je k dispozici).
Tip: Chcete-li zjistit, zda byla při výskytu klíčové události stisknuta klávesa "ALT", "CTRL", "META" nebo "SHIFT", použijte vlastnost altKey , ctrlKey , metaKey nebo shiftKey .
Podpora prohlížeče
Čísla v tabulce určují první verzi prohlížeče, která plně podporuje vlastnost.
Property | |||||
---|---|---|---|---|---|
which | Yes | 9.0 | Yes | Yes | Yes |
Syntax
event.which
Technické údaje
Návratová hodnota: | Číslo představující kód znaku Unicode nebo kód klíče Unicode |
---|---|
Verze DOM: | Události DOM úrovně 2 |
Další příklady
Příklad
Použití onkeypress a onkeydown k předvedení rozdílů mezi kódy znaků a kódy klávesnice:
<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;
}
Při stisknutí klávesy „a“ na klávesnici (bez použití caps lock) bude výsledek znaku a klávesy :
Unicode CHARACTER code: 97
Unicode KEY code: 65
Příklad
Upozornit na nějaký text, pokud uživatel stiskne klávesu 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!");
}
}
Příklad
Převeďte hodnotu Unicode na znak (nefunguje pro funkční klávesy):
var x = event.which || event.keyCode; // Get the Unicode value
var y = String.fromCharCode(x); // Convert the value into a character
Související stránky
HTML DOM reference: KeyboardEvent key Property
HTML DOM reference: KeyboardEvent keyCode Property
HTML DOM reference: KeyboardEvent charCode Property