This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The cuechange event fires when a TextTrack has changed the currently displaying cues. The event is fired on both the TextTrack and the HTMLTrackElement in which it's being presented, if any.
Use the event name in methods like addEventListener(), or set an event handler property.
addEventListener("cuechange", (event) => { })
oncuechange = (event) => { }
A generic Event with no added properties.
You can set up a listener for the cuechange event on a TextTrack using the addEventListener() method:
track.addEventListener("cuechange", () => {
const cues = track.activeCues; // array of current cues
// …
});
Or you can set the oncuechange event handler property:
track.oncuechange = (event) => {
let cues = track.activeCues; // array of current cues
};
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
cuechange_event |
23 | 12 | 31 | ≤12.1 | 6 | 25 | 31 | ≤12.1 | 7 | 1.5 | 4.4 | 7 |
HTMLTrackElement: cuechange
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/TextTrack/cuechange_event