Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
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 inWeb Workers verfügbar.
DiepreventDefault()-Methode desEvent-Interfaces teilt demUser-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 ruftstopPropagation() oderstopImmediatePropagation() auf, von denen beide die Propagation sofort beenden.
Wie unten erwähnt, hat das Aufrufen vonpreventDefault() bei einem nicht abbrechbaren Ereignis, wie einem, das überEventTarget.dispatchEvent() ausgelöst wurde, ohnecancelable: true anzugeben, keine Wirkung.
Wenn ein passiver ListenerpreventDefault() aufruft, passiert nichts und es kann eine Konsolenwarnung generiert werden.
Hinweis:Suchen Sie nach besseren Alternativen, alspreventDefault() zu verwenden, um Standardaktionen zu blockieren. Sie können z.B. dasdisabled- oderreadonly-Attribut bei einem Formularelement verwenden, um dessen Interaktion zu verhindern,HTML-Einschränkungsvalidierung nutzen, um ungültige Eingaben abzulehnen, oder dieoverflow-Eigenschaft verwenden, um das Scrollen zu verhindern.
In diesem Artikel
Syntax
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
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
<p>Please click on the checkbox control.</p><form> <label for="id-checkbox">Checkbox:</label> <input type="checkbox" /></form><div></div>Resultat
Hinweise
Das Aufrufen vonpreventDefault() 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önnenEvent.cancelable verwenden, um zu prüfen, ob das Ereignis abbrechbar ist. Das Aufrufen vonpreventDefault() bei einem nicht abbrechbaren Ereignis hat keine Wirkung.
Spezifikationen
| Specification |
|---|
| DOM> # ref-for-dom-event-preventdefault③> |