VideoTrackList: change 事件
change
事件在视频轨道被激活或停用时触发,例如通过更改轨道的 selected
属性。
语法
在诸如 addEventListener()
之类的方法中使用事件名称,或者设置事件处理程序属性。
js
addEventListener("change", (event) => {});
onchange = (event) => {};
事件类型
一个通用的 Event
,没有添加任何属性。
示例
使用 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;
});
使用 onchange
事件处理程序属性
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;
});
规范
规范 |
---|
HTML 标准 # event-media-change |
HTML 标准 # handler-tracklist-onchange |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。
另请参阅
- 相关事件:
addtrack
,removetrack
AudioTrackList
上的此事件目标为:change
- 媒体捕获和流 API
- WebRTC