在视频时间更新时操作动态创建的内容

Manipulate dynamically created content when video time updates

本文关键字:创建 动态 操作 视频 时间 更新      更新时间:2023-09-26

我有一个HTML5视频,我需要从"时间更新"上动态创建的其他元素中获取一些数据,我目前正在使用:

var video = $('video');
video.on('timeupdate', function() {
    //get data from dynamically created elements
});

这只适用于以前创建的元素,但一旦我引入一个动态创建的元素时,它会返回为undefined,有什么更好的方法可以做到这一点?

代码不够,但我认为我理解正确。

问题出在视频标签中。看起来你定义的来源如下:

<video width="320" height="240" controls>
  <source src="movie.mp4" type="video/mp4">
  <source src="movie.ogg" type="video/ogg">
Your browser does not support the video tag.
</video>

因此,如果您在<source>标签中更改源视频,您将获得一个旧源或undefined

经常更改视频源的正确且有效的方法是更改<video>标签的src属性,例如:

$('#video').attr('src', new_source);
$('#video').get(0).play();