Signatur
Beschreibung
Die Eigenschaft altKey eines KeyboardEvent ist true, wenn die Alt-Taste gedrückt war, als das Ereignis ausgelöst wurde. Andernfalls ist sie false. Auf macOS entspricht das der Option-Taste (⌥). Die Eigenschaft ist schreibgeschützt. Man kann sie also nur lesen, nicht verändern.
Typischerweise nutzt man altKey für Tastenkombinationen wie Alt+S zum Speichern oder Alt+Pfeiltaste zum Navigieren. Meist fragt man sie zusammen mit ctrlKey, shiftKey und metaKey ab, damit eine Kombination eindeutig erkannt wird und nicht auch bei Strg+Alt+S ausgelöst wird.
Die gleiche Eigenschaft gibt es auch bei MouseEvent und TouchEvent. Welche Taste zusätzlich gedrückt wurde, liest man am besten über event.code aus (die physische Taste). event.key ist dafür weniger geeignet, weil Alt bzw. Option das erzeugte Zeichen oft verändert (siehe Hinweise).
Rückgabewert
true, wenn die Alt- bzw. Option-Taste beim Ereignis gedrückt war, sonst false.Beispiele
Tastenkürzel Alt+S per addEventListener
const onKeydown = (event) => {
// Nur reines Alt+S, ohne weitere Modifikatortasten
if (event.altKey && !event.ctrlKey && !event.metaKey && !event.shiftKey && event.code === 'KeyS') {
event.preventDefault();
console.log('Dokument wird gespeichert …');
}
};
document.addEventListener('keydown', onKeydown);
// Später wieder entfernen, z. B. beim Schließen eines Editors
// document.removeEventListener('keydown', onKeydown);
Modifikatortasten über die on-Property protokollieren
const input = document.querySelector('input');
input.onkeydown = (event) => {
const mods = [
event.ctrlKey && 'Strg',
event.altKey && 'Alt',
event.shiftKey && 'Umschalt',
event.metaKey && 'Meta'
].filter(Boolean);
console.log(`${[...mods, event.code].join('+')}`);
};
Synthetisches Ereignis mit altKey erzeugen
const event = new KeyboardEvent('keydown', {
key: 'ArrowDown',
code: 'ArrowDown',
altKey: true,
bubbles: true
});
document.addEventListener('keydown', (e) => {
console.log('Alt gedrückt:', e.altKey, '| isTrusted:', e.isTrusted);
}, { once: true });
document.dispatchEvent(event);
// Wichtig · Fallstricke
- Zeichen auf macOS: Unter macOS erzeugt Option zusammen mit einer Taste oft ein Sonderzeichen. Zum Beispiel liefert ⌥+S bei
event.keyden Wert"ß"bzw."‚", je nach Tastaturlayout. Für Tastenkürzel deshalbevent.codeverwenden, z. B."KeyS". - AltGr: Unter Windows und Linux wird die AltGr-Taste oft als Strg+Alt gemeldet. Dann sind
altKeyundctrlKeybeidetrue, etwa beim Eintippen von@oder€auf deutschen Tastaturen. Tastenkürzel mit Strg+Alt können also mit normaler Texteingabe kollidieren.event.getModifierState('AltGraph')hilft, das zu unterscheiden. - Browser- und Systemkürzel: Alt+Taste öffnet unter Windows und Linux häufig die Menüleiste oder löst
accesskey-Attribute aus. Manche Kombinationen fängt das Betriebssystem ab (z. B. Alt+Tab, Alt+F4). Sie kommen dann nie auf der Seite an. - Beim
keydownder Alt-Taste selbst istaltKeybereitstrue, beim zugehörigenkeyupdagegenfalse. - Die Eigenschaft ist schreibgeschützt. Bei synthetischen Ereignissen legt man sie über das Options-Objekt des Konstruktors fest.
- Die Eigenschaft wird von allen modernen Browsern unterstützt.