HTMLTrackElement: cuechange event
{{APIRef("WebVTT")}}
The cuechange event fires when a {{domxref("TextTrack")}} has changed the currently displaying cues. The event is fired on both the TextTrack and the {{domxref("HTMLTrackElement")}} in which it’s being presented, if any.
Syntax
Use the event name in methods like {{domxref("EventTarget.addEventListener", "addEventListener()")}} , or set an event handler property.
addEventListener("cuechange", (event) => { })
oncuechange = (event) => { }
Event type
A generic {{DOMxRef("Event")}} with no added properties.
Examples
The underlying {{domxref("TextTrack")}} , indicated by the {{domxref("HTMLTrackElement.track", "track")}} property, receives a cuechange event every time the currently-presented cue is changed. This happens even if the track isn’t associated with a media element.
If the track is associated with a media element, using the {{HTMLElement("track")}} element as a child of the {{HTMLElement("audio")}} or {{HTMLElement("video")}} element, the cuechange event is also sent to the {{domxref("HTMLTrackElement")}} .
let textTrackElem = document.getElementById("text-track");
textTrackElem.addEventListener("cuechange", (event) => {
let cues = event.target.track.activeCues;
});
Alternatively, you can use the oncuechange event handler:
let textTrackElem = document.getElementById("text-track");
textTrackElem.oncuechange = (event) => {
let cues = event.target.track.activeCues;
};
Specifications
{{Specifications}}
Browser compatibility
{{Compat}}
See also
{{glossary("WebVTT")}}- The same event on
{{domxref("TextTrack")}}:{{domxref("TextTrack.cuechange_event", "cuechange")}}