Przykład
Uzyskać wartość Unicode wciśniętego klawisza klawiatury:
var x = event.which;
Wynikiem X mogą być:
119 // 119 is the character
"w"
Spróbuj sam " Więcej "Try it Yourself" przykłady poniżej.
Definicja i Wykorzystanie
Which właściwość zwraca kod znaku Unicode klawisza, który wywołał onkeypress zdarzenie lub klawisz kod Unicode klawisza, który wywołał onKeyDown lub onkeyup wydarzenie.
Różnica pomiędzy tymi dwoma typami kodów:
- Kody postaci - liczba, która reprezentuje znak ASCII
- Główne kody - liczba, która reprezentuje rzeczywistą klawisz na klawiaturze
Typy te nie zawsze oznaczają to samo; Na przykład, małe litery "w" i wielkie litery "W" mają ten sam kod klawiatury, ponieważ klucz jest wciśnięty na klawiaturze jest taki sam (just "W" = the number "87") , ale inna Kod charakter, ponieważ uzyskana postać różni się (albo "w" lub "W" , czyli "119" i „87”) - patrz "More Examples" poniżej lepiej zrozumieć.
Wskazówka: Aby dowiedzieć się, czy użytkownik jest naciśnięcie klawisza wydruku (np "a" lub „5”), zaleca się, aby skorzystać z tej własności na zdarzenia onkeypress. Aby dowiedzieć się, czy użytkownik jest naciśnięcie klawisza funkcyjnego (np "F1" , "CAPS LOCK" lub „Strona”) używać onKeyDown lub onkeyup wydarzenie.
Uwaga: nieruchomość, która nie jest obsługiwana w IE8 i wcześniej. Dla tych wersji przeglądarek, można użyć keyCode nieruchomości. Jednak nieruchomość keyCode nie działa na zdarzenia onkeypress w Firefoksie. Rozwiązania z różnymi przeglądarkami, można użyć następującego kodu:
var x = event.which || event.keyCode; // Use either which or keyCode ,
depending on browser support
Wskazówka: Aby uzyskać listę wszystkich znaków Unicode, należy badać naszą Kompletna Reference Unicode .
Wskazówka: Jeśli chcesz przekonwertować zwracanej wartości Unicode w znak, użyj fromCharCode() metody.
Uwaga: Ta właściwość jest tylko do odczytu.
Uwaga: Zarówno który i keyCode Właściwość jest tylko dla kompatybilności. Najnowsza wersja specyfikacji DOM Events zalecamy użycie klucza właściwość zamiast (if available) .
Wskazówka: Jeśli chcesz dowiedzieć się, czy "ALT" , "CTRL" , "META" lub "SHIFT" klawisz został naciśnięty, gdy kluczowym wydarzeniem wystąpił użyj altKey , ctrlKey , klawisz meta lub shiftKey nieruchomości.
Wsparcie przeglądarka
Liczby w tabeli określ pierwszą wersję przeglądarki, która w pełni obsługuje właściwość.
Nieruchomość | |||||
---|---|---|---|---|---|
which | tak | 9.0 | tak | tak | tak |
Składnia
event .which
Szczegóły techniczne
Zwracana wartość: | Numer, reprezentujących albo kod znaku Unicode lub kod Unicode klawisza |
---|---|
DOM wersja: | DOM Level 2 Events |
Więcej przykładów
Przykład
Korzystanie onkeypress i onKeyDown wykazać różnice między kodami znaków i kodów klawiszowych:
<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;
}
Po naciśnięciu "a" klawisz na klawiaturze (not using caps lock) , wynik char i klucz będzie:
Unicode CHARACTER code: 97
Unicode KEY
code: 65
Spróbuj sam " Przykład
Ostrzegać jakiś tekst, jeśli użytkownik naciśnie klawisz 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!");
}
}
Spróbuj sam " Przykład
Konwersja wartość Unicode do znaku (does not work for function keys) :
var x = event.which || event.keyCode; // Get the Unicode value
var y = String.fromCharCode(x); // Convert the value into a character
Spróbuj sam " Podobne strony
HTML DOM: KeyboardEvent key Property
HTML DOM: KeyboardEvent keyCode Property
HTML DOM: KeyboardEvent charCode Property
<Object Event