AudioTrackList: change 事件

可用性有限

此功能并非基础功能,因为它在一些最广泛使用的浏览器中无法正常工作。

当音频轨道被启用或禁用时,例如通过更改轨道的 enabled 属性,会触发 change 事件。

此事件不可取消,也不冒泡。

语法

在诸如 addEventListener() 的方法中使用事件名称,或设置事件处理程序属性。

js
addEventListener("change", (event) => { })

onchange = (event) => { }

事件类型

一个通用的 Event

示例

使用 addEventListener()

js
const videoElement = document.querySelector("video");
videoElement.audioTracks.addEventListener("change", (event) => {
  console.log(`'${event.type}' event fired`);
});

// changing the value of `enabled` will trigger the `change` event
const toggleTrackButton = document.querySelector(".toggle-track");
toggleTrackButton.addEventListener("click", () => {
  const track = videoElement.audioTracks[0];
  track.enabled = !track.enabled;
});

使用 onchange 事件处理程序属性

js
const videoElement = document.querySelector("video");
videoElement.audioTracks.onchange = (event) => {
  console.log(`'${event.type}' event fired`);
};

// changing the value of `enabled` will trigger the `change` event
const toggleTrackButton = document.querySelector(".toggle-track");
toggleTrackButton.addEventListener("click", () => {
  const track = videoElement.audioTracks[0];
  track.enabled = !track.enabled;
});

规范

规范
HTML 标准
# event-media-change
HTML 标准
# handler-tracklist-onchange

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅