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
AudioTrackList
targets:change
- Media Capture and Streams API
- WebRTC