【发布时间】:2012-03-19 12:31:25
【问题描述】:
我的页面上有一个<video> 元素:
<video id="myVideo">
<source src="vid.mp4" type="video/mp4" />
<source src="vid.ogg" type="video/ogg" />
</video>
在我的 JS 中是这样写的:
var v = $('#myVideo')[0];
v.addEventListener('timeupdate',function(){
alert('I changed');
},false);
现在我将启动我的控制台并输入:
$('#myVideo')[0].currentTime = 2;
显示的框架会改变,但事件不会触发。根据规范timeupdate 应该在currentTime was changed 时触发,所以我不认为我使用了错误的事件?我正在使用的所有其他事件(即play 和ended)都运行良好。
那里有很多类似的问题,但所有这些似乎都是过时的错误?这是另一个错误(我在 Chrome 17 和 FF10 中测试过)还是事件结构有什么变化?还是我错过了一些完全不同的东西?
编辑: 我只是注意到这个问题只会在视频尚未播放时出现。所以当我这样做时:
$('#myVideo')[0].play();
$('#myVideo')[0].pause();
$('#myVideo')[0].currentTime = 2;
事件将按原样触发。
【问题讨论】:
标签: javascript events video html5-video