Start · Sprachen · JavaScript · Referenz · KeyboardEvent.altKey

KeyboardEvent.altKey

Eigenschaft

Schreibgeschützter boolescher Wert, der angibt, ob beim Auslösen des Tastaturereignisses die Alt-Taste (auf macOS: Option bzw. ⌥) gedrückt war.

seit JavaScript Baseline: alle Browser Kategorie: webapi

Signatur

KeyboardEvent.altKey

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

Typ
boolean
Beschreibung
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);
Dokument wird gespeichert …

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('+')}`);
};
Alt+ArrowLeft

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);
Alt gedrückt: true | isTrusted: false

// Wichtig · Fallstricke

  • Zeichen auf macOS: Unter macOS erzeugt Option zusammen mit einer Taste oft ein Sonderzeichen. Zum Beispiel liefert ⌥+S bei event.key den Wert "ß" bzw. "‚", je nach Tastaturlayout. Für Tastenkürzel deshalb event.code verwenden, z. B. "KeyS".
  • AltGr: Unter Windows und Linux wird die AltGr-Taste oft als Strg+Alt gemeldet. Dann sind altKey und ctrlKey beide true, 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 keydown der Alt-Taste selbst ist altKey bereits true, beim zugehörigen keyup dagegen false.
  • 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.