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

View in English Always switch to English

Element: transitioncancel-Ereignis

Baseline Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit November 2020 browserübergreifend verfügbar.

Das transitioncancel-Ereignis wird ausgelöst, wenn eine CSS-Transition abgebrochen wird.

Syntax

Verwenden Sie den Ereignisnamen in Methoden wie addEventListener() oder legen Sie eine Ereignishandlereigenschaft fest.

js
addEventListener("transitioncancel", (event) => { })

ontransitioncancel = (event) => { }

Ereignistyp

Ein TransitionEvent. Erbt von Event.

Event TransitionEvent

Beispiele

Dieser Code erhält ein Element, das eine definierte Transition hat, und fügt einen Listener für das transitioncancel-Ereignis hinzu:

js
const transition = document.querySelector(".transition");

transition.addEventListener("transitioncancel", () => {
  console.log("Transition canceled");
});

Dasselbe, aber unter Verwendung der ontransitioncancel-Eigenschaft anstelle von addEventListener():

js
const transition = document.querySelector(".transition");

transition.ontransitioncancel = () => {
  console.log("Transition canceled");
};

Live-Beispiel

Im folgenden Beispiel haben wir ein einfaches <div>-Element, das mit einer Transition mit verzögerter Startzeit gestylt ist:

html
<div class="transition"></div>
<div class="message"></div>
css
.transition {
  width: 100px;
  height: 100px;
  background: red;
  transition-property: transform, background;
  transition-duration: 2s;
  transition-delay: 2s;
}

.transition:hover {
  transform: rotate(90deg);
  background: transparent;
}

Dazu fügen wir etwas JavaScript hinzu, um anzuzeigen, dass die Ereignisse transitionstart, transitionrun, transitioncancel und transitionend ausgelöst werden. In diesem Beispiel, um die Transition abzubrechen, hören Sie auf, über das transformierende Kästchen zu fahren, bevor die Transition endet. Damit das transitionend-Ereignis ausgelöst wird, bleiben Sie über der Transition, bis diese endet.

js
const message = document.querySelector(".message");
const el = document.querySelector(".transition");

el.addEventListener("transitionrun", () => {
  message.textContent = "transitionrun fired";
});

el.addEventListener("transitionstart", () => {
  message.textContent = "transitionstart fired";
});

el.addEventListener("transitioncancel", () => {
  message.textContent = "transitioncancel fired";
});

el.addEventListener("transitionend", () => {
  message.textContent = "transitionend fired";
});

Das transitioncancel-Ereignis wird ausgelöst, wenn die Transition in beide Richtungen nach Auftreten des transitionrun-Ereignisses und vor dem Auslösen des transitionend-Ereignisses abgebrochen wird.

Falls es keine Übergangsverzögerung oder -dauer gibt, wenn beide 0s betragen oder keines deklariert ist, gibt es keine Transition und keines der Transition-Ereignisse wird ausgelöst.

Falls das transitioncancel-Ereignis ausgelöst wird, wird das transitionend-Ereignis nicht ausgelöst.

Spezifikationen

Spezifikation
CSS Transitions Module Level 1
# transitioncancel
CSS Transitions Module Level 1
# dom-globaleventhandlers-ontransitioncancel

Browser-Kompatibilität

Siehe auch