我有一个HTML5音频标签,每当音频的“currentTime”属性发生变化时,我想做一个功能。
我可以使用
获取 currentTime
$('#myAudio').prop('currentTime');
但我不知道如何处理这类事件。我尝试了许多插件来观察这种变化,但我无法使它工作。请帮忙。
答案 0 :(得分:2)
也许您正在寻找原生timeupdate
事件(请参阅documentation):
document.addEventListener('timeupdate', function(e) {
var audioElement = e.target;
// do something
});
根据文件:
当currentTime属性指示的时间已更新时,将触发
timeupdate
事件。
正如评论中所指出的,将事件附加到文档将收听源自页面上所有音频元素的所有timeupdate
事件。但是,这超出了问题的范围,因此事件处理程序内部的业务逻辑由其特定实现决定。
附加到文档的一个好处是,您可以自动支持动态生成的音频元素,而无需重新附加过时的事件侦听器。但是,它可以在检查哪个目标(由e.target
提供)触发事件时,以及您想要对该元素执行或不执行的操作时打开一堆蠕虫。