Property keyCode eventu KeyboardEvent
Definicja i użycie
Property keyCode zwraca wyzwalający Zdarzenie onkeypress Klawisza Unicode kodu znaku, lub wyzwalanie onkeydown lub Zdarzenie onkeyup Klawisza Unicode klawisza.
Różnica między dwoma typami kodów:
- Kod znakowy - liczba reprezentująca znak ASCII
- Kod klawisza - reprezentuje liczbę rzeczywistego klawisza na klawiaturze
Te typy nie zawsze oznaczają to samo. Na przykład, mała "w" i duża "W" mają ten sam kod klawisza klawiatury, ponieważ naciśnięty klawisz jest ten sam ("W" = liczba "87"), ale kod znaku jest inny, ponieważ resultingowy znak jest inny ("w" lub "W", czyli "119" lub "87") - sprawdź więcej przykładów, aby lepiej zrozumieć to.
Wskazówka:Aby dowiedzieć się, czy użytkownik nacisnął drukowalny klawisz (np. "a" lub "5"), zaleca się użycie tego atrybutu w zdarzeniu onkeypress. Aby dowiedzieć się, czy użytkownik nacisnął klawisz funkcyjny (np. "F1", "CAPS LOCK" lub "Home"), użyj zdarzeń onkeydown lub onkeyup.
Komentarz:W Firefox atrybut keyCode nie działa dla zdarzenia onkeypress (zwraca tylko 0). Dla rozwiązania międzyprzeglądarkowego, użyj Atrybut whichRazem z keyCode, na przykład:
var x = event.which || event.keyCode; // Używaj which czy keyCode zależy od obsługi przeglądarki
Wskazówka:O pełnej liście wszystkich znaków Unicode, zapoznaj się z naszą Pełna referencja Unicode.
Wskazówka:Jeśli chcesz przekształcić wartość Unicode na znak, użyj Metoda fromCharCode().
Komentarz:Ten atrybut jest jedynie odczytywany.
Komentarz:Dostarczenie atrybutów keyCode i which jest tylko dla zgodności. Najnowsza wersja specyfikacji DOM wydarzeń zaleca użycie atrybutu key (jeśli dostępny).
Wskazówka:Jeśli chcesz wiedzieć, czy naciśnięto klawisz "ALT", "CTRL", "META" lub "SHIFT" podczas zdarzenia naciśnięcia klawisza, użyj altKeyictrlKey/ orazmetaKey lub shiftKey Atrybuty.
Przykład
Przykład 1
Pobierz wartość Unicode naciśniętego klawisza klawiatury:
var x = event.keyCode;
Przykład 2
Używaj onkeypress i onkeydown, aby pokazać różnicę między kodami znaków a kodami klawiatury:
<input type="text" onkeypress="uniCharCode(event)" onkeydown="uniKeyCode(event)"> function uniCharCode(event) { var char = event.which || event.keyCode; document.getElementById("demo").innerHTML = "Kod CHAR Unicode: " + char; } function uniKeyCode(event) { var key = event.keyCode; document.getElementById("demo2").innerHTML = "Kod KEY Unicode: " + key; }
Naciśnięcie klawisza "a" na klawiaturze (nie używając Capslock) spowoduje, że wynikiem char i key będzie:
Kod CHAR Unicode: 97 Kod KEY Unicode: 65
Przykład 3
Jeśli użytkownik naciśnie klawisz Escape, wyświetl pewien tekst:
<input type="text" onkeydown="myFunction(event)"> function myFunction(event) { var x = event.keyCode; if (x == 27) { // 27 to klawisz ESC alert("Naciśnięto klawisz Escape!"); } }
Przykład 4
Konwersja wartości Unicode na znak (nie dotyczy klawiszy funkcyjnych):
var x = event.keyCode; // Pobierz wartość Unicode var y = String.fromCharCode(x); // Konwersja wartości na znak
Gramatyka
event.keyCode
Szczegóły techniczne
Zwrócona wartość: | Wartość liczbowa, która reprezentuje kod znaku Unicode lub kod klawisza Unicode. |
---|---|
Wersja DOM: | DOM Level 2 Events |
Obsługa przeglądarek
Atrybuty | Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|---|
keyCode | Wsparcie | Wsparcie | Wsparcie | Wsparcie | Wsparcie |
Strony związane
Przeglądarka HTML DOM Referencja:Atrybut key w KeyboardEvent
Przeglądarka HTML DOM Referencja:Atrybut charCode w KeyboardEvent
Przeglądarka HTML DOM Referencja:Atrybut which w KeyboardEvent