Element: transitioncancel Ereignis
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since November 2020.
Das transitioncancel-Ereignis wird ausgelöst, wenn ein CSS-Übergang abgebrochen wird.
Syntax
Verwenden Sie den Ereignisnamen in Methoden wie addEventListener() oder setzen Sie eine Ereignisbehandlereigenschaft.
addEventListener("transitioncancel", (event) => { })
ontransitioncancel = (event) => { }
Ereignistyp
Ein TransitionEvent. Erbt von Event.
Ereigniseigenschaften
Erbt auch Eigenschaften von seinem Elternteil Event.
TransitionEvent.propertyNameSchreibgeschützt-
Ein String, der den Namen der CSS-Eigenschaft enthält, die mit dem Übergang verknüpft ist.
TransitionEvent.elapsedTimeSchreibgeschützt-
Ein
float, der die Zeit angibt, wie lange der Übergang beim Auslösen dieses Ereignisses bereits läuft, in Sekunden. Dieser Wert wird von der Eigenschafttransition-delaynicht beeinflusst. TransitionEvent.pseudoElementSchreibgeschützt-
Ein String, beginnend mit
::, der den Namen des Pseudoelements enthält, auf dem die Animation läuft. Wenn der Übergang nicht auf einem Pseudoelement, sondern auf dem Element läuft, ist es ein leerer String:''.
Beispiele
Dieser Code erhält ein Element, das einen definierten Übergang hat, und fügt einen Listener für das transitioncancel-Ereignis hinzu:
const transition = document.querySelector(".transition");
transition.addEventListener("transitioncancel", () => {
console.log("Transition canceled");
});
Dasselbe, jedoch mit der ontransitioncancel-Eigenschaft anstelle von addEventListener():
const transition = document.querySelector(".transition");
transition.ontransitioncancel = () => {
console.log("Transition canceled");
};
Live-Beispiel
Im folgenden Beispiel haben wir ein einfaches <div>-Element, das mit einem Übergang, der eine Verzögerung enthält, gestylt ist:
<div class="transition"></div>
<div class="message"></div>
.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 den Übergang abzubrechen, hören Sie auf, über das Element zu schweben, bevor der Übergang endet. Damit das transitionend-Ereignis ausgelöst wird, bleiben Sie beim Übergang, bis dieser endet.
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 der Übergang in eine beliebige Richtung nach dem transitionrun-Ereignis und bevor transitionend ausgelöst wird, abgebrochen wird.
Wenn es keine Übergangsverzögerung oder -dauer gibt, wenn beide 0s sind oder keiner deklariert ist, gibt es keinen Übergang, und keines der Übergangsereignisse wird ausgelöst.
Wenn das transitioncancel-Ereignis ausgelöst wird, wird das transitionend-Ereignis nicht ausgelöst.
Spezifikationen
| Specification |
|---|
| CSS Transitions> # transitioncancel> |
| CSS Transitions> # dom-globaleventhandlers-ontransitioncancel> |
Browser-Kompatibilität
Siehe auch
- Das
TransitionEventInterface - CSS-Eigenschaften:
transition,transition-delay,transition-duration,transition-property,transition-timing-function - Verwandte Ereignisse:
transitionrun,transitionstart,transitionend