我在<head>
中有以下代码:
var canplay = false;
if (window.addEventListener) {
window.addEventListener('canplay', function(ev) {
canplay = true;
}, true);
}
后来我有一个addEventListener
附加到视频,但它没有被触发,因为canplay
已被解雇(并从上面的代码处理)。
没关系,但为什么我们将该事件监听器附加到window
对象及其工作原理?
答案 0 :(得分:1)
后来我有一个addEventListener附加到视频,但它没有触发
canplay
事件不会持续发生。它只会在缓冲区准备好播放的时候触发。既然你说以后将一个监听器附加到视频对象上;也许你错过了事件被解雇的时间。但您可以随时通过video.readyState >= video.HAVE_FUTURE_DATA
为什么我们将该事件监听器附加到窗口对象及其工作原理?
Spec允许它。