Event: cancelable Eigenschaft

Baseline Widely available

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

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

Die schreibgeschützte Eigenschaft cancelable der Event-Schnittstelle gibt an, ob das Ereignis abgebrochen werden kann und daher verhindert werden kann, als ob das Ereignis nie stattgefunden hätte.

Wenn das Ereignis nicht abbrechbar ist, wird seine cancelable-Eigenschaft false sein, und der Ereignis-Listener kann das Ereignis nicht vom Auftreten abhalten.

Die meisten von Browsern nativen Ereignisse, die abgebrochen werden können, resultieren aus der Benutzerinteraktion mit der Seite. Das Abbrechen der click-, wheel- oder beforeunload-Ereignisse würde verhindern, dass der Benutzer auf etwas klickt, die Seite mit dem Mausrad scrollt oder die Seite verlässt, jeweils.

Synthetische Ereignisse, die von anderem JavaScript-Code erstellt wurden, definieren, ob sie zum Zeitpunkt ihrer Erstellung abgebrochen werden können.

Um ein Ereignis abzubrechen, rufen Sie die Methode preventDefault() für das Ereignis auf. Dadurch wird verhindert, dass die Implementierung die Standardaktion ausführt, die mit dem Ereignis verbunden ist.

Ereignis-Listener, die mehrere Arten von Ereignissen verarbeiten, sollten cancelable prüfen, bevor sie ihre preventDefault()-Methoden aufrufen.

Wert

Ein boolescher Wert, der true ist, wenn das Ereignis abgebrochen werden kann.

Beispiel

Zum Beispiel schlagen Browserhersteller vor, dass das wheel-Ereignis nur beim ersten Aufruf des Listeners abgebrochen werden kann — alle nachfolgenden wheel-Ereignisse können nicht abgebrochen werden.

js
function preventScrollWheel(event) {
  if (typeof event.cancelable !== "boolean" || event.cancelable) {
    // The event can be canceled, so we do so.
    event.preventDefault();
  } else {
    // The event cannot be canceled, so it is not safe
    // to call preventDefault() on it.
    console.warn(`The following event couldn't be canceled:`);
    console.dir(event);
  }
}

document.addEventListener("wheel", preventScrollWheel);

Spezifikationen

Specification
DOM
# ref-for-dom-event-cancelable②

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
cancelable

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support