Jakie kody klawiszy są dostępne dla JavaScript? Jeśli nie są takie same dla wszystkich przeglądarek, podaj kody klawiszy dla każdej przeglądarki.
Jakie kody klawiszy są dostępne dla JavaScript? Jeśli nie są takie same dla wszystkich przeglądarek, podaj kody klawiszy dla każdej przeglądarki.
Odpowiedzi:
KeyCodes różnią się od wartości ASCII. Pełne odniesienie do kodu klucza można znaleźć pod adresem http://unixpapa.com/js/key.html
Na przykład cyfry numeryczne mają kody 96–105, co odpowiada początkowi małej litery w kodzie ASCII. Może to prowadzić do problemów w walidacji danych liczbowych.
Obserwowani @ poradę pimvdb za i stworzył własną rękę:
http://daniel-hug.github.io/characters/
Bądź cierpliwy, ponieważ wygenerowanie elementu dla każdego z 65536 znaków, które mają kod JavaScript zajmuje kilka sekund.
Potrzebowałem czegoś takiego do interfejsu konfiguracji sterowania grą, więc skompilowałem listę standardowych kodów klawiszy układu klawiatury w USA i odwzorowałem je na ich odpowiednie nazwy klawiszy.
Oto skrzypce zawierające mapę kodu -> nazwa i odwrotnie: http://jsfiddle.net/vWx8V/
Jeśli chcesz obsługiwać inne układy klawiszy, musisz zmodyfikować te mapy, aby dostosować je osobno.
Dzieje się tak, chyba że szukałeś listy wartości kodów klucza, które zawierałyby znaki kontrolne i inne wartości specjalne, których nie można (lub rzadko) można wprowadzić za pomocą klawiatury i mogą znajdować się poza zakresem zdarzeń keydown
/ keypress
/ keyup
JavaScript. Wiele z nich to znaki sterujące lub znaki specjalne, takie jak null
( \0
) i najprawdopodobniej ich nie potrzebujesz.
Zauważ, że liczba klawiszy na pełnej klawiaturze jest mniejsza niż wiele wartości kodów klawiszy.
Ta aplikacja jest po prostu niesamowita. Zasadniczo jest to klawiatura wirtualna, która natychmiast pokazuje kod klawisza wciśnięty na standardowej klawiaturze amerykańskiej.
Oto pełna lista - uważam: http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes
Oto kilka przydatnych linków:
Druga kolumna to keyCode, a kolumna html pokazuje, jak będzie wyświetlany. Możesz to przetestować tutaj .
Po uruchomieniu tego fragmentu zostanie podana jedna możliwa odpowiedź.
document.write('<table>')
for (var i = 0; i < 250; i++) {
document.write('<tr><td>' + i + '</td><td>' + String.fromCharCode(i) + '</td></tr>')
}
document.write('</table>')
td {
border: solid 1px;
padding: 1px 12px;
text-align: right;
}
table {
border-collapse: collapse;
}
* {
font-family: monospace;
font-size: 1.1em;
}