属性 值更改后是否起作用?
Do function after a property value changes?
我有一个 HTML5 音频标签,我想在每次 "currentTime" 属性 音频变化时执行一个函数。
我可以用
得到 currentTime
$('#myAudio').prop('currentTime');
但我不知道如何处理这种事件。我尝试了很多插件来观察这种变化,但我无法让它发挥作用。请帮忙
也许本机 timeupdate
事件就是您要查找的内容(参见 the docs on MDN):
document.addEventListener('timeupdate', function(e) {
var audioElement = e.target;
// do something
});
根据文档:
The timeupdate
event is fired when the time indicated by the currentTime attribute has been updated.
编辑
正如评论中指出的那样,将事件附加到文档将侦听源自页面上所有音频元素的所有 timeupdate
事件。但是,这超出了问题的范围,因此事件处理程序内部的业务逻辑留给它的具体实现。
附加到文档的一个好处是您可以自动支持动态生成的音频元素,而无需重新附加陈旧的事件侦听器。但是,在检查触发事件的目标(由 e.target
提供)以及您想对该元素做什么或不做什么时,它可能会引发大量蠕虫。
我有一个 HTML5 音频标签,我想在每次 "currentTime" 属性 音频变化时执行一个函数。
我可以用
得到 currentTime$('#myAudio').prop('currentTime');
但我不知道如何处理这种事件。我尝试了很多插件来观察这种变化,但我无法让它发挥作用。请帮忙
也许本机 timeupdate
事件就是您要查找的内容(参见 the docs on MDN):
document.addEventListener('timeupdate', function(e) {
var audioElement = e.target;
// do something
});
根据文档:
The
timeupdate
event is fired when the time indicated by the currentTime attribute has been updated.
编辑
正如评论中指出的那样,将事件附加到文档将侦听源自页面上所有音频元素的所有 timeupdate
事件。但是,这超出了问题的范围,因此事件处理程序内部的业务逻辑留给它的具体实现。
附加到文档的一个好处是您可以自动支持动态生成的音频元素,而无需重新附加陈旧的事件侦听器。但是,在检查触发事件的目标(由 e.target
提供)以及您想对该元素做什么或不做什么时,它可能会引发大量蠕虫。