VideoTrackList: change event
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.
addEventListener('change', event => { })
onchange = event => { }
Event type
A generic 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
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 Streams API
- WebRTC