VideoTrackList: change event
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
The change event is fired when a video track is made active or inactive, for example by changing the track's selected property.
Syntax
Use the event name in methods like addEventListener(), or set an event handler property.
js
addEventListener("change", (event) => {});
onchange = (event) => {};
Event type
A generic Event with no added properties.
Examples
Using addEventListener():
js
const videoElement = document.querySelector("video");
videoElement.videoTracks.addEventListener("change", (event) => {
console.log(`'${event.type}' event fired`);
});
// changing the value of `selected` will trigger the `change` event
const toggleTrackButton = document.querySelector(".toggle-track");
toggleTrackButton.addEventListener("click", () => {
const track = videoElement.videoTracks[0];
track.selected = !track.selected;
});
Using the onchange event handler property:
js
const videoElement = document.querySelector("video");
videoElement.videoTracks.onchange = (event) => {
console.log(`'${event.type}' event fired`);
};
// changing the value of `selected` will trigger the `change` event
const toggleTrackButton = document.querySelector(".toggle-track");
toggleTrackButton.addEventListener("click", () => {
const track = videoElement.videoTracks[0];
track.selected = !track.selected;
});
Specifications
| Specification |
|---|
| HTML Standard # event-media-change |
| HTML Standard # handler-tracklist-onchange |
Browser compatibility
BCD tables only load in the browser
See also
- Related events:
addtrack,removetrack - This event on
AudioTrackListtargets:change - Media Capture and Streams API
- WebRTC