events - 收听所有 html 视频事件

标签 events html video listener

玩 html5 视频,想知道是否有办法在它发生时列出它的事件。

我有一个结束 - myVideo.addEventListener('ended',videoEnded,false);

哪个工作正常,但我如何创建一个监听器来监听每个事件并命名它们?

myVideo.addEventListener('ALL',AddToLog,false);
function AddToLog(){
   console.log(eventname);
}

欢迎任何指点。

丹.

最佳答案

订阅所有<video><audio>一次事件:

function addListenerMulti(el, s, fn) {
    s.split(' ').forEach(e => el.addEventListener(e, fn, false));
}

var video = document.getElementById('myVideo');

addListenerMulti(video, 'abort canplay canplaythrough durationchange emptied encrypted ended error interruptbegin interruptend loadeddata loadedmetadata loadstart mozaudioavailable pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting', function(e){
    console.log(e.type);
});

研究来自the specification 的媒体事件列表也是一个好主意。 .

多个事件监听器学分转到 @RobG's solution .

关于events - 收听所有 html 视频事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7765410/

相关文章:

email - 事件跟踪,尤其是在电子邮件上的事件谷歌分析不起作用

html - 全屏视频背景,内容低于首屏

css - 如何修复 iPhone 和 iPod 的移动样式表错误?

html - 是否可以仅使用 CSS 定位 <p> </p>?

html - 如何访问层次结构顶部的文件?

bash - 在 Docker 镜像中运行 vlc 以通过 rtsp 协议(protocol)发送视频流

iphone - iOS的视频流库?

javascript - 父级触发事件,从子级冒泡

java - jcombobox 在拖放中被选中

laravel - 将 Laravel 事件订阅者排队