VideoTrackList: change event
{{APIRef}}
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 {{domxref("EventTarget.addEventListener", "addEventListener()")}}
, or set an event handler property.
addEventListener("change", (event) => {});
onchange = (event) => {};
Event type
A generic {{DOMxRef("Event")}}
with no added properties.
Examples
Using addEventListener()
:
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:
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
{{Specifications}}
Browser compatibility
{{Compat}}
See also
- Related events:
addtrack
,removetrack
- This event on
AudioTrackList
targets:change
- Media Capture and Streams API
- WebRTC