HTMLTrackElement:cuechange 事件

Baseline 已广泛支持

此功能已非常成熟,并且在多种设备和浏览器版本中均可正常工作。自 ⁨2019 年 7 月⁩ 起,所有浏览器均已支持此功能。

TextTrack 更改当前显示的提示(cue)时,会触发 cuechange 事件。如果提示正在呈现,该事件会同时在 TextTrackHTMLTrackElement 上触发。

语法

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

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

oncuechange = (event) => { }

事件类型

一个通用的 Event,没有额外的属性。

示例

track 属性指示的底层 TextTrack,在每次当前呈现的提示发生更改时都会收到 cuechange 事件。即使该轨道未与媒体元素关联,也会发生这种情况。

如果该轨道 *确实* 与媒体元素相关联,并且作为 <audio><video> 元素的子元素使用 <track> 元素,则 cuechange 事件也会发送到 HTMLTrackElement

js
let textTrackElem = document.getElementById("text-track");

textTrackElem.addEventListener("cuechange", (event) => {
  let cues = event.target.track.activeCues;
});

或者,您也可以使用 oncuechange 事件处理器

js
let textTrackElem = document.getElementById("text-track");

textTrackElem.oncuechange = (event) => {
  let cues = event.target.track.activeCues;
};

规范

规范
HTML
# event-media-cuechange
HTML
# handler-oncuechange

浏览器兼容性

另见