如何创建和触发HTML视频标签事件
How to Create and Fire HTML Video tag Events
我遇到了一个奇怪的要求,我需要创建一个HTML视频标签事件,如播放,暂停,volumechange等,然后触发它们,因为它将由不同的模块处理。
是否有任何方法可以做到类似于CreateCustomEvent
或CreateEvent
和Dispatch
事件?
我在网上搜索,但找不到任何帮助,除了直接调用document.getElementsByTagName('video')[0].play()
等,但这不是我需要的,因为我希望注册的事件处理程序来处理事件一旦触发。但是直接调用play()实际上会在触发'play'事件的同时播放视频。
我得到了答案。而不是做文档。dispatchEvent直接在video元素上调度事件,如下所示。
function()
{
var videoElement = document.getElementsByTagName('video')[0];
var VideoEvent = new Event('play');
videoElement.dispatchEvent(VideoEvent);
}
和应用程序端的处理程序如下所示:
function onload()
{
video = document.getElementsByTagName('video')[0];
video.addEventListener('play', handleVideoEvent, false);
video.addEventListener('pause', handleVideoEvent, false);
}
function handleVideoEvent(evt)
{
alert('Handle event ' + evt.type);
}
请让我知道有关浏览器事件处理的任何链接或文档。我想既然视频将是文档元素的子节点,事件可能会从文档传播到视频,但事实并非如此。相反,事件从子节点冒泡到父节点。其令人困惑! !
不管怎样,谢谢大家的帮助
相关文章:
- html视频播放器并不总是从src读取
- HTML 5视频播放器用给定的数字更新currentTime
- 使用video-js构建一个包含字符串的HTML视频
- html视频javascript播放方法在移动Safari中不起作用
- 哪个更有效:html视频或javascript滑块
- 如何降低html视频的自动播放音量
- 在按钮上单击暂停HTML视频(正在自动播放)
- Html 5视频停止事件
- 如何在HTML视频达到特定时间标记时触发事件
- 最小化窗口时HTML视频暂停
- 当元素在视口中可见时,自动播放html视频
- 让html 5视频在全屏模式下自动打开
- 如何在 HTML 视频结束后重定向到 URL
- HTML 5<视频>元素上的弹性增长不起作用
- Safari HTML 5 视频无法播放
- HTML 视频标签在野生动物园和手机上不起作用
- Javascript/HTML 5 视频 - 检测视频是否未加载
- Javascript 在关闭时停止 HTML 5 视频
- 除非禁用缓存,否则 HTML 视频不起作用
- 引导轮播 - 滑动时暂停 HTML 视频