如何创建和触发HTML视频标签事件

How to Create and Fire HTML Video tag Events

本文关键字:HTML 视频 标签 事件 何创建 创建      更新时间:2023-09-26

我遇到了一个奇怪的要求,我需要创建一个HTML视频标签事件,如播放,暂停,volumechange等,然后触发它们,因为它将由不同的模块处理。

是否有任何方法可以做到类似于CreateCustomEventCreateEventDispatch事件?

我在网上搜索,但找不到任何帮助,除了直接调用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);
}

请让我知道有关浏览器事件处理的任何链接或文档。我想既然视频将是文档元素的子节点,事件可能会从文档传播到视频,但事实并非如此。相反,事件从子节点冒泡到父节点。其令人困惑! !

不管怎样,

谢谢大家的帮助