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

时间:2014-07-18 10:18:01

标签: javascript html html5 javascript-events html5-video

我遇到了一个奇怪的要求,我需要创建一个HTML视频标记事件,如Play,Pause,VolumeChanged等,然后触发它们,因为它将由不同的模块处理。  有没有办法可以这样做,类似于CreateCustomEvent或CreateEvent和Dispatch事件。

我在网上搜索,但除了直接调用document.getElementsByTagName('video')[0] .play()等之外找不到任何帮助,但这不是我需要的,因为我想要注册的事件处理程序一旦被解雇就处理事件。但直接调用play()实际上会播放视频并触发'play'事件。

所以请帮帮我......

谢谢和问候,

Techtotie。

1 个答案:

答案 0 :(得分:0)

我得到了答案。而不是做document.dispatchEvent直接在视频元素上调度事件,如下所示。

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);
}

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

反正

感谢帮助人员。