Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Event: preventDefault()-Methode

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨Juli 2015⁩.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Die preventDefault()-Methode des Event-Interfaces teilt dem User-Agent mit, dass das Ereignis explizit behandelt wird, sodass die Standardaktion, wie z.B. das Scrollen der Seite, die Navigation von Links oder das Einfügen von Text, nicht ausgeführt werden soll.

Das Ereignis wird weiterhin wie gewohnt propagiert, es sei denn, einer seiner Ereignis-Listener ruft stopPropagation() oder stopImmediatePropagation() auf, von denen beide die Propagation sofort beenden.

Wie unten erwähnt, hat das Aufrufen von preventDefault() bei einem nicht abbrechbaren Ereignis, wie einem, das über EventTarget.dispatchEvent() ausgelöst wurde, ohne cancelable: true anzugeben, keine Wirkung.

Wenn ein passiver Listener preventDefault() aufruft, passiert nichts und es kann eine Konsolenwarnung generiert werden.

Hinweis: Suchen Sie nach besseren Alternativen, als preventDefault() zu verwenden, um Standardaktionen zu blockieren. Sie können z.B. das disabled- oder readonly-Attribut bei einem Formularelement verwenden, um dessen Interaktion zu verhindern, HTML-Einschränkungsvalidierung nutzen, um ungültige Eingaben abzulehnen, oder die overflow-Eigenschaft verwenden, um das Scrollen zu verhindern.

Syntax

js
preventDefault()

Parameter

Keine.

Rückgabewert

Keine (undefined).

Beispiele

Blockieren der Standard-Click-Handhabung

Das Umschalten eines Kontrollkästchens ist die Standardaktion des Klickens auf ein Kontrollkästchen. Dieses Beispiel zeigt, wie verhindert werden kann, dass das passiert:

JavaScript

js
const checkbox = document.querySelector("#id-checkbox");

checkbox.addEventListener("click", checkboxClick);

function checkboxClick(event) {
  const warn = "preventDefault() won't let you check this!\n";
  document.getElementById("output-box").innerText += warn;
  event.preventDefault();
}

HTML

html
<p>Please click on the checkbox control.</p>

<form>
  <label for="id-checkbox">Checkbox:</label>
  <input type="checkbox" id="id-checkbox" />
</form>

<div id="output-box"></div>

Resultat

Hinweise

Das Aufrufen von preventDefault() während einer beliebigen Phase des Ereignisflusses hebt das Ereignis auf, was bedeutet, dass keine Standardaktion, die normalerweise von der Implementierung als Ergebnis des Ereignisses ausgeführt wird, stattfinden wird.

Sie können Event.cancelable verwenden, um zu prüfen, ob das Ereignis abbrechbar ist. Das Aufrufen von preventDefault() bei einem nicht abbrechbaren Ereignis hat keine Wirkung.

Spezifikationen

Specification
DOM
# ref-for-dom-event-preventdefault③

Browser-Kompatibilität