你能给我一个chrome的例子,我有这样的东西:
function checkVideoStatus(vidElement){
var currentTime = vidElement.currentTime;
//now wait 5 seconds
var updatedTime = vidElement.currentTime;
//now check if video has freezed
if(updatedTime == currentTime){
//fire videoFreeze Event
}
}
所以我想在这里解雇这个事件。此外,是否真的有必要解雇这个事件,因为我可以在这里调用相关的方法来做我想要的事情吗?
在JS中,事件只是像onChange,onMouseOver等吗?
答案 0 :(得分:4)
这是一个自定义事件和倒计时的简单模型。
<div id="vid" data-current="0">Video</div>
var vid = document.getElementById('vid'),
freeze;
vid.addEventListener('freeze', function() {
console.log('Firing vid.freeze.... ' + this.dataset.current);
console.log('vid.freeze fired.');
});
(function go() {
var status;
vid.innerHTML = 'Video time: ' + vid.dataset.current;
if (vid.dataset.current < 5) {
status = vid.dataset.current == 0 ? 'Starting... ' : 'Continuing... ';
console.log(status + vid.dataset.current);
setTimeout(go, 1000);
} else {
freeze = document.createEvent('CustomEvent');
freeze.initEvent('freeze', true, true);
vid.dispatchEvent(freeze);
}
vid.dataset.current++;
})();
http://jsfiddle.net/userdude/Ampbm/1
这主要是为了展示如何制作一个在五秒钟后触发的自定义事件。我还使用data-
属性来存储当前时间。您在if
区块中所做的事情我不太确定,因为.updatedTime
和.currentTime
在我看来可能是相同的事情。