javascript - 检测对 HTML5 视频的关注

标签 javascript jquery html html5-video

与使用 youtube 时一样,如果您单击“播放”或“暂停”,焦点将位于视频上,使用 空格键 将暂停或播放视频。

在同一行中,我想在播放 HTML5 视频后阻止 spacebar 操作。 为此,我试图检测焦点元素,但视频元素似乎没有以相同的方式获得 focus 事件。

我尝试使用 jQuery 来实现它:

$(':focus');

和纯 Javascript:

document.activeElement

没有成功。

最佳答案

将事件监听器添加到您的视频元素,并在播放事件时将焦点放在页面上的其他(可聚焦)元素上,例如什么都不做的虚拟按钮

var video=document.getElementById("MyVideo");

video.addEventListener('play', function () { 
  document.getElementById("myDummyButton").focus();
});

这会在视频播放后立即将焦点从您的视频元素转移到虚拟按钮。您也可以对暂停事件执行相同的操作。

并小心地将按钮放置在视频元素附近,因为如果将按钮放置在屏幕下方页面下方的某个位置,聚焦它会导致页面滚动。 另请记住,所有类型的元素都不是可聚焦的。

关于javascript - 检测对 HTML5 视频的关注,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38264639/

相关文章:

javascript - 在 KnockoutJS 中使用 bool 值显示隐藏 div 并应用 css 规则

jquery - 为事件上的 HTML 表格单元格(或整行)的背景颜色设置动画

javascript - 单击时更改 child 字体颜色?

javascript - 如何减少边距的宽度值?

javascript - Wordpress 将菜单从悬停时打开更改为单击

Jquery next() 问题

javascript - 当鼠标悬停在另一个 div 上时,使用淡入淡出等任何效果更改 div 中的图像

javascript - 当我似乎找不到任何错误时,为什么这段代码不起作用?

javascript - 资源必须列在 web_accessible_resources list 键中

javascript - 使用 jQuery/AJAX 从 Cherrypy 服务器获取 JSON 数据