JavaScript可以播放附加到窗口对象的事件
JavaScript canplay event attached to window object?
我在<head>
中有以下代码:
var canplay = false;
if (window.addEventListener) {
window.addEventListener('canplay', function(ev) {
canplay = true;
}, true);
}
后来我有一个addEventListener
附加到视频,但它没有发射,因为canplay
已经被发射(并从上面的代码处理)。
这是好的,但是为什么我们将事件侦听器附加到window
对象,为什么它工作?
之后我有一个附加到video的addEventListener,但它没有触发
canplay
事件没有连续触发。它只会在缓冲区准备好播放时触发。因为你说你以后附加一个监听器到视频对象;也许您错过了事件被触发的时间。但是你可以随时通过video.readyState >= video.HAVE_FUTURE_DATA
为什么我们将事件监听器附加到窗口对象,为什么它工作?
Spec允许。
- 来自W3C:所有HTML元素都必须支持的事件处理程序(及其相应的事件处理程序事件类型),包括内容属性和IDL属性,以及文档和窗口对象… 你可以在media元素或它的任何父元素上安装事件监听器,包括文档主体…
相关文章:
- 如何在选项卡上定义属性'的主窗口对象
- 可以从Chrome扩展修改窗口对象吗
- 在Backbone.js中为窗口对象指定变量
- 从html锚元素传递窗口对象
- 如何在ReactJS中使用窗口对象
- 在加载时调用时,窗口对象的某些变量丢失
- 清除 Javascript 中窗口对象中的自定义变量
- 窗口对象属性返回一个dom节点
- 使用窗口对象练习我的对象文字函数
- 如何从Chrome扩展访问所有窗口对象
- Jasmine在全局窗口对象上创建本地JS函数的Spy
- 如何使用Chrome'查看窗口对象中定义了哪些变量;的开发工具
- 有没有一种方法可以强制浏览器's窗口对象以重新评估鼠标所在的位置
- Safari 在尝试使用 Javascript try/catch 访问父窗口对象时未捕获异常
- 测试使用 jQuery 和窗口对象的 React 组件
- 迭代窗口对象时出现“'window.webkitStorageInfo' is deprecated”警
- 窗口对象通过对象类型测试,但 hasOwnProperty 导致错误
- node.js是否等同于浏览器中的窗口对象
- 页面工作线程 - destroy() 似乎没有删除窗口对象
- 全局变量只是“窗口”对象的属性吗?