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 的浏览器中加载。

另请参阅