Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
Veraltet: Diese Funktion wird nicht mehr empfohlen. Obwohl einige Browser sie möglicherweise noch unterstützen, könnte sie bereits aus den relevanten Webstandards entfernt worden sein, in Kürze entfernt werden oder nur noch aus Kompatibilitätsgründen bestehen. Vermeiden Sie die Verwendung und aktualisieren Sie vorhandenen Code, falls möglich; siehe die Kompatibilitätstabelle am Ende dieser Seite, um Ihre Entscheidung zu unterstützen. Beachten Sie, dass diese Funktion jederzeit aufhören könnte zu funktionieren.
Die veraltete, schreibgeschützte KeyboardEvent.keyCode-Eigenschaft stellt einen system- und implementierungsabhängigen numerischen Code dar, der den unmodifizierten Wert der gedrückten Taste identifiziert.
Dies ist in der Regel der dezimale ASCII- (RFC 20) oder Windows 1252-Code, der der Taste entspricht. Wenn die Taste nicht identifiziert werden kann, ist dieser Wert 0.
Sie sollten die Verwendung dieser Eigenschaft nach Möglichkeit vermeiden; sie ist seit einiger Zeit veraltet. Stattdessen sollten Sie KeyboardEvent.code (für die physisch gedrückte Taste) oder KeyboardEvent.key (für das Zeichen, dem die Taste zugeordnet ist) verwenden. Überprüfen Sie die Kompatibilität für beide Eigenschaften, wenn Sie sehr alte Browser anvisieren.
Hinweis: Webentwickler sollten das keyCode-Attribut für druckbare Zeichen bei der Verarbeitung von keydown- und keyup-Ereignissen nicht verwenden. Wie oben beschrieben, ist das keyCode-Attribut für druckbare Zeichen nicht nützlich, insbesondere nicht für diejenigen, die mit gedrückter Shift- oder Alt-Taste eingegeben werden.
Der Wert von Tastenereignissen, die durch das Drücken oder Loslassen druckbarer Tasten in Standardposition verursacht werden, ist nicht zwischen Browsern kompatibel.
IE zeigt einfach den nativen virtuellen Tastencode-Wert als KeyboardEvent.keyCode an.
Google Chrome, Chromium und Safari müssen den Wert aus dem Eingabezeichensatz bestimmen. Wenn das eingetippte Zeichen mit dem US-Tastaturlayout eingegeben werden kann, verwenden sie den keyCode-Wert auf dem US-Tastaturlayout.
Firefox erhält keyCode-Werte aus ASCII-Zeichen, die durch die Taste eingegeben werden können — auch mit Shift-Modifikatoren oder einem ASCII-fähigen Tastaturlayout. Siehe die folgenden Regeln für Details:
Gecko setzt keyCode-Werte von Interpunktionstasten so weit wie möglich (wenn Punkt 7.1 oder 7.2 in der obigen Liste erreicht wird) mit den folgenden Regeln:
Warnung: Der Zweck dieser neuen zusätzlichen Regeln besteht darin, dass Benutzer, deren Tastaturlayouts Unicode-Zeichen auf Interpunktionstasten im US-Tastaturlayout abbilden, Webanwendungen verwenden können, die Firefox nur mit ASCII-fähigen Tastaturlayouts oder nur mit einem US-Tastaturlayout unterstützen. Andernfalls könnten die neu zugewiesenen keyCode-Werte mit anderen Tasten in Konflikt stehen. Zum Beispiel, wenn das aktive Tastaturlayout Russisch ist, haben sowohl die “Period”-Taste als auch die “Slash”-Taste den keyCode-Wert 190 (KeyEvent.DOM_VK_PERIOD). Wenn Sie diese Tasten unterscheiden müssen, aber nicht alle Tastaturlayouts der Welt selbst unterstützen möchten, sollten Sie wahrscheinlich KeyboardEvent.code verwenden.
Wenn macOS oder Linux ausgeführt wird:
Wenn das aktive Tastaturlayout nicht ASCII-fähig ist und ein alternatives ASCII-fähiges Tastaturlayout verfügbar ist.
Andernfalls verwenden Sie einen keyCode für ein ASCII-Zeichen, das von der Taste erzeugt wird, wenn das US-Tastaturlayout aktiv ist.
Wenn auf Windows ausgeführt:
| 0x31 (49) | 0x31 (49) | 0x31 (49) | 0x31 (49) | 0x31 (49) | 0x31 (49) | 0x31 (49) | 0x31 (49) | ||||||||||||||||
| 0x32 (50) | 0x32 (50) | 0x32 (50) | 0x32 (50) | 0x32 (50) | 0x32 (50) | 0x32 (50) | 0x32 (50) | ||||||||||||||||
| 0x33 (51) | 0x33 (51) | 0x33 (51) | 0x33 (51) | 0x33 (51) | 0x33 (51) | 0x33 (51) | 0x33 (51) | ||||||||||||||||
| 0x34 (52) | 0x34 (52) | 0x34 (52) | 0x34 (52) | 0x34 (52) | 0x34 (52) | 0x34 (52) | 0x34 (52) | ||||||||||||||||
| 0x35 (53) | 0x35 (53) | 0x35 (53) | 0x35 (53) | 0x35 (53) | 0x35 (53) | 0x35 (53) | 0x35 (53) | ||||||||||||||||
| 0x36 (54) | 0x36 (54) | 0x36 (54) | 0x36 (54) | 0x36 (54) | 0x36 (54) | 0x36 (54) | 0x36 (54) | ||||||||||||||||
| 0x37 (55) | 0x37 (55) | 0x37 (55) | 0x37 (55) | 0x37 (55) | 0x37 (55) | 0x37 (55) | 0x37 (55) | ||||||||||||||||
| 0x38 (56) | 0x38 (56) | 0x38 (56) | 0x38 (56) | 0x38 (56) | 0x38 (56) | 0x38 (56) | 0x38 (56) | ||||||||||||||||
| 0x39 (57) | 0x39 (57) | 0x39 (57) | 0x39 (57) | 0x39 (57) | 0x39 (57) | 0x39 (57) | 0x39 (57) | ||||||||||||||||
| 0x30 (48) | 0x30 (48) | 0x30 (48) | 0x30 (48) | 0x30 (48) | 0x30 (48) | 0x30 (48) | 0x30 (48) | ||||||||||||||||
| 0x41 (65) | 0x41 (65) | 0x41 (65) | 0x41 (65) | 0x41 (65) | 0x41 (65) | 0x41 (65) | 0x41 (65) | ||||||||||||||||
| 0x42 (66) | 0x42 (66) | 0x42 (66) | 0x42 (66) | 0x42 (66) | 0x42 (66) | 0x42 (66) | 0x42 (66) | ||||||||||||||||
| 0x43 (67) | 0x43 (67) | 0x43 (67) | 0x43 (67) | 0x43 (67) | 0x43 (67) | 0x43 (67) | 0x43 (67) | ||||||||||||||||
| 0x44 (68) | 0x44 (68) | 0x44 (68) | 0x44 (68) | 0x44 (68) | 0x44 (68) | 0x44 (68) | 0x44 (68) | ||||||||||||||||
| 0x45 (69) | 0x45 (69) | 0x45 (69) | 0x45 (69) | 0x45 (69) | 0x45 (69) | 0x45 (69) | 0x45 (69) | ||||||||||||||||
| 0x46 (70) | 0x46 (70) | 0x46 (70) | 0x46 (70) | 0x46 (70) | 0x46 (70) | 0x46 (70) | 0x46 (70) | ||||||||||||||||
| 0x47 (71) | 0x47 (71) | 0x47 (71) | 0x47 (71) | 0x47 (71) | 0x47 (71) | 0x47 (71) | 0x47 (71) | ||||||||||||||||
| 0x48 (72) | 0x48 (72) | 0x48 (72) | 0x48 (72) | 0x48 (72) | 0x48 (72) | 0x48 (72) | 0x48 (72) | ||||||||||||||||
| 0x49 (73) | 0x49 (73) | 0x49 (73) | 0x49 (73) | 0x49 (73) | 0x49 (73) | 0x49 (73) | 0x49 (73) | ||||||||||||||||
| 0x4A (74) | 0x4A (74) | 0x4A (74) | 0x4A (74) | 0x4A (74) | 0x4A (74) | 0x4A (74) | 0x4A (74) | ||||||||||||||||
| 0x4B (75) | 0x4B (75) | 0x4B (75) | 0x4B (75) | 0x4B (75) | 0x4B (75) | 0x4B (75) | 0x4B (75) | ||||||||||||||||
| 0x4C (76) | 0x4C (76) | 0x4C (76) | 0x4C (76) | 0x4C (76) | 0x4C (76) | 0x4C (76) | 0x4C (76) | ||||||||||||||||
| 0x4D (77) | 0x4D (77) | 0x4D (77) | 0x4D (77) | 0x4D (77) | 0x4D (77) | 0x4D (77) | 0x4D (77) | ||||||||||||||||
| 0x4E (78) | 0x4E (78) | 0x4E (78) | 0x4E (78) | 0x4E (78) | 0x4E (78) | 0x4E (78) | 0x4E (78) | ||||||||||||||||
| 0x4F (79) | 0x4F (79) | 0x4F (79) | 0x4F (79) | 0x4F (79) | 0x4F (79) | 0x4F (79) | 0x4F (79) | ||||||||||||||||
| 0x50 (80) | 0x50 (80) | 0x50 (80) | 0x50 (80) | 0x50 (80) | 0x50 (80) | 0x50 (80) | 0x50 (80) | ||||||||||||||||
| 0x51 (81) | 0x51 (81) | 0x51 (81) | 0x51 (81) | 0xBA (186)⚠️ | 0x51 (81) | 0x51 (81) | 0xBA (186)⚠️ | 0x51 (81) | 0x51 (81) | 0xBA (186)⚠️ | 0x51 (81) | 0x51 (81) | 0x51 (81) | 0xBA (186)⚠️ | 0x51 (81) | ||||||||
| 0x52 (82) | 0x52 (82) | 0x52 (82) | 0x52 (82) | 0x52 (82) | 0x52 (82) | 0x52 (82) | 0x52 (82) | ||||||||||||||||
| 0x53 (83) | 0x53 (83) | 0x53 (83) | 0x53 (83) | 0x53 (83) | 0x53 (83) | 0x53 (83) | 0x53 (83) | ||||||||||||||||
| 0x54 (84) | 0x54 (84) | 0x54 (84) | 0x54 (84) | 0x54 (84) | 0x54 (84) | 0x54 (84) | 0x54 (84) | ||||||||||||||||
| 0x55 (85) | 0x55 (85) | 0x55 (85) | 0x55 (85) | 0x55 (85) | 0x55 (85) | 0x55 (85) | 0x55 (85) | ||||||||||||||||
| 0x56 (86) | 0x56 (86) | 0x56 (86) | 0x56 (86) | 0x56 (86) | 0x56 (86) | 0x56 (86) | 0x56 (86) | ||||||||||||||||
| 0x57 (87) | 0x57 (87) | 0x57 (87) | 0x57 (87) | 0x57 (87) | 0x57 (87) | 0x57 (87) | 0x57 (87) | ||||||||||||||||
| 0x58 (88) | 0x58 (88) | 0x58 (88) | 0x58 (88) | 0x58 (88) | 0x58 (88) | 0x58 (88) | 0x58 (88) | ||||||||||||||||
| 0x59 (89) | 0x59 (89) | 0x59 (89) | 0x59 (89) | 0x59 (89) | 0x59 (89) | 0x59 (89) | 0x59 (89) | ||||||||||||||||
| 0x5A (90) | 0x5A (90) | 0x5A (90) | 0x5A (90) | 0x5A (90) | 0x5A (90) | 0x5A (90) | 0x5A (90) | ||||||||||||||||
| 0xBC (188) | 0xBC (188) | 0xBC (188) | 0xBC (188) | 0xBC (188) | 0xBC (188) | 0xBC (188) | 0xBC (188) | ||||||||||||||||
| 0xBE (190) | 0xBE (190) | 0xBE (190) | 0xBE (190) | 0xBE (190) | 0xBE (190) | 0xBE (190) | 0xBE (190) | ||||||||||||||||
| 0xBA (186) | 0xBB (187)⚠️ | 0xBA (186) | 0xBA (186) | 0xBB (187)⚠️ | 0xBA (186) | 0xBA (186) | 0xBA (186) [1] | 0xE5 (229)⚠️ [2] | 0xBA (186) | 0xBA (186) | 0xE5 (229)⚠️ [3] | 0xBA (186) | 0xBA (186) [1] | 0xE5 (229)⚠️ [2] | 0x3B (59) | 0x3B (59) | 0x00 (0)⚠️ | 0x3B (59) | 0x3B (59) [1] | 0x00 (0)⚠️ | 0x3B (59) | 0x3B (59) | 0x00 (0)⚠️ |
| 0xBB (187)⚠️ [1] | 0xBB (187)⚠️ | 0xBB (187)⚠️ [1] | |||||||||||||||||||||
| 0xDE (222) | 0xBA (186)⚠️ | 0xDE (222) | 0xDE (222) | 0xBA (186)⚠️ | 0xDE (222) | 0xDE (222) | 0xBA (186)⚠️ [1] | 0xDE (222) | 0xDE (222) | 0xBA (186)⚠️ | 0xDE (222) | 0xDE (222) | 0xBA (186)⚠️ [1] | 0xDE (222) | 0xDE (222) | 0x3A (58)⚠️ | 0xDE (222) | 0xDE (222) | 0x3A (58)⚠️ [1] | 0xDE (222) | 0xDE (222) | 0x3A (58)⚠️ | 0xDE (222) |
| 0xDE (222)⚠️ [1] | 0x38 (56)⚠️ | 0xDE (222)⚠️ [1] | |||||||||||||||||||||
| 0xDB (219) | 0xC0(192)⚠️ | 0xDB (219) | 0xDB (219) | 0xC0(192)⚠️ | 0xDB (219) | 0xDB (219) | 0xDB (219) [1] | 0xDB (219) | 0xDB (219) | 0x32 (50)⚠️ | 0xDB (219) | 0xDB (219) | 0xDB (219) [1] | 0xDB (219) | 0xDB (219) | 0x40 (64)⚠️ | 0xDB (219) | 0xDB (219) | 0x40 (64)⚠️ [1] | 0xDB (219) | 0xDB (219) | 0x40 (64)⚠️ | 0xDB (219) |
| 0xC0 (192)⚠️ [1] | 0xC0 (192)⚠️ | 0xC0 (192)⚠️ [1] | |||||||||||||||||||||
| 0xDD (221) | 0xDB (219)⚠️ | 0xDD (221) | 0xDD (221) | 0xDB (219)⚠️ | 0xDD (221) | 0xDD (221) | 0xDB (219)⚠️ [1] | 0xDD (221) | 0xDD (221) | 0xDB (219)⚠️ | 0xDD (221) | 0xDD (221) | 0xDB (219)⚠️ [1] | 0xDD (221) | 0xDD (221) | 0xDB (219)⚠️ | 0xDD (221) | 0xDD (221) | 0xDB (219)⚠️ [1] | 0xDD (221) | 0xDD (221) | 0xDB (219)⚠️ | 0xDD (221) |
| 0xC0 (192) | ❌ N/A | 0xC0 (192) | 0xC0 (192) | ❌ N/A | 0xC0 (192) | 0xC0 (192) | 0xC0 (192) | 0xF4 (244)⚠️ | 0xC0 (192) | 0xC0 (192) | 0xC0 (192) | ❌ N/A | 0xC0 (192) | 0xC0 (192) | 0xC0 (192) | 0x00 (0) | 0xC0 (192) | ||||||
| 0xDC (220) | 0xDD (221)⚠️ | 0xDC (220) | 0xDC (220) | 0xDD (221)⚠️ | 0xDC (220) | 0xDC (220) | 0xDC (220) | 0xDD (221)⚠️ | 0xDC (220) | 0xDC (220) | 0xDC (220) | 0xDD (221)⚠️ | 0xDC (220) | 0xDC (220) | 0xDC (220) | 0xDD (221)⚠️ | 0xDC (220) | ||||||
| 0xBD (189) | 0xBD (189) | 0xBD (189) | 0xBD (189) [1] | 0xBD (189) | 0xBD (189) | 0xBD (189) | 0xBD (189) | 0xBD (189) | 0xBD (189) [1] | 0xBD (189) | 0xAD (173) | 0xAD (173) | 0xAD (173) [1] | 0xAD (173) | 0xAD (173) | ||||||||
| 0xBB (187)⚠️ [1] | 0xBB (187)⚠️ | 0xBD (189) | 0xBB (187)⚠️ [1] | 0xBD (189) | |||||||||||||||||||
| 0xBB (187) | 0xDE (222)⚠️ | 0xBB (187) | 0xBB (187) | 0xDE (222)⚠️ | 0xBB (187) | 0xBB (187) | 0xBB (187) [1] | 0xBB (187) | 0xBB (187) | 0x36 (54)⚠️ | 0xBB (187) | 0xBB (187) | 0xBB (187) [1] | 0xBB (187) | 0x3D (61) | 0xA0 (160)⚠️ | 0x3D (61) | 0x3D (61) | 0xA0 (160)⚠️ [1] | 0x3D (61) | 0x3D (61) | 0xA0 (160)⚠️ | 0x3D (61) |
| 0xC0 (192)⚠️ [1] | 0xC0 (192)⚠️ | 0xBB (187) | 0xC0 (192)⚠️ [1] | 0xBB (187) | |||||||||||||||||||
| 0xC1 (193) | 0xE2 (226)⚠️ | 0xC1 (193) | 0xC1 (193) | 0xE2 (226)⚠️ | 0xC1 (193) | 0xBD (189) | 0xBD (189) | 0x00 (0)⚠️ | [4] | 0xDC (220)⚠️ | [4] | 0xBD (189) | 0xBD (189) | 0xE5 (229)⚠️ [5] | 0x00 (0) | 0xDC (220)⚠️ | 0x00 (0) | 0xA7 (167) | 0xA7 (167) | 0x00 (0) | 0x00 (0) | 0xDC (220)⚠️ | 0x00 (0) |
| 0xFF (255) | 0xDC (220)⚠️ | 0xFF (255) | 0xFF (255) | 0xDC (220)⚠️ | 0xFF (255) | 0x00 (0)⚠️ | 0x00 (0)⚠️ | 0x00 (0)⚠️ | [4] | 0xDC (220)⚠️ | [4] | 0x00 (0)⚠️ | 0x00 (0)⚠️ | 0xE5 (229)⚠️ [5] | 0x00 (0)⚠️ | 0xDC (220)⚠️ | 0x00 (0)⚠️ | 0xDC (220) | 0xDC (220) | 0x00 (0)⚠️ | 0x00 (0)⚠️ | 0xDC (220)⚠️ | 0x00 (0)⚠️ |
| 0xDC (220) | 0xDC (220) | 0xBD (189)⚠️ | 0xDC (220) | 0xDC (220) | |||||||||||||||||||
[1] Der Wert wird von der JIS-Tastatur eingegeben. Wenn Sie die ANSI-Tastatur verwenden, sind der Tastencode-Wert und das eingegebene Zeichen das, was Sie aus dem US-Tastaturlayout auswählen.
[2] Die Taste ist eine tote Taste. Der Wert des keyup-Ereignisses ist 0xBA (186).
[3] Die Taste ist eine tote Taste. Der Wert des keyup-Ereignisses ist 0x10 (16).
[4] Es werden keine Tastenereignisse ausgegeben.
[5] Die Taste ist mit dem griechischen Tastaturlayout nicht verfügbar (gibt keine Zeichen ein). Der Wert des keyup-Ereignisses ist 0x00 (0).