属性值更改后执行功能吗?

时间:2015-09-09 03:43:05

标签: javascript jquery html5 properties

我有一个HTML5音频标签,每当音频的“currentTime”属性发生变化时,我想做一个功能。

我可以使用

获取 currentTime

$('#myAudio').prop('currentTime');

但我不知道如何处理这类事件。我尝试了许多插件来观察这种变化,但我无法使它工作。请帮忙。

1 个答案:

答案 0 :(得分:2)

也许您正在寻找原生timeupdate事件(请参阅documentation):

document.addEventListener('timeupdate', function(e) {
  var audioElement = e.target;

  // do something
});

根据文件:

  

当currentTime属性指示的时间已更新时,将触发timeupdate事件。

修改

正如评论中所指出的,将事件附加到文档将收听源自页面上所有音频元素的所有timeupdate事件。但是,这超出了问题的范围,因此事件处理程序内部的业务逻辑由其特定实现决定。

附加到文档的一个好处是,您可以自动支持动态生成的音频元素,而无需重新附加过时的事件侦听器。但是,它可以在检查哪个目标(由e.target提供)触发事件时,以及您想要对该元素执行或不执行的操作时打开一堆蠕虫。