Javascript 用于输入设备的HTML5视频焦点
我有一个包含多个HTML5视频的页面。我想利用键盘和鼠标事件与每个视频进行交互。在Flash中,这不是问题,因为一旦单击视频对象,该视频将获得焦点并接收来自任何输入设备的所有事件,除非单击退出。我对HTML5视频还是新手,但我不确定如何用javascript模仿HTML5视频中的Javascript 用于输入设备的HTML5视频焦点,javascript,html,video,Javascript,Html,Video,我有一个包含多个HTML5视频的页面。我想利用键盘和鼠标事件与每个视频进行交互。在Flash中,这不是问题,因为一旦单击视频对象,该视频将获得焦点并接收来自任何输入设备的所有事件,除非单击退出。我对HTML5视频还是新手,但我不确定如何用javascript模仿HTML5视频中的focus功能,因为视频标签中不存在focus,没有它就无法控制单个视频 非常感谢 您是否尝试过: <video id="foo"> </video> <script> docu
focus
功能,因为视频标签中不存在focus
,没有它就无法控制单个视频
非常感谢 您是否尝试过:
<video id="foo">
</video>
<script>
document.getElementById('foo').focus();
</script>
document.getElementById('foo').focus();
focus方法为元素提供键盘焦点。我找到了一种方法,通过使用全局变量为视频元素伪造
焦点。例:
$(function(){
var focused_vid;
$('video').click(function(){ focused_vid = this });
$(document).keydown(function(e){
if (focused_vid){
var skip_step = focused_vid.duration*.01;
switch(e.which){
case 37: // Back arrow
focused_vid.currentTime -= skip_step;
break;
case 39: // Forward arrow
focused_vid.currentTime += skip_step;
break;
}
}
});
});
实际上,如果将选项卡索引设置为数字值,则会:
<video tab-index='-1' />
你能举一个例子,说明你希望在这种互动中采取什么样的行动,以及什么样的键盘或鼠标连在一起吗?@user156629我认为这不重要,因为问题的核心是检查在一页多个视频中接收特定视频焦点的能力,不包括附加到对象的事件。但是如果您坚持,请使用箭头键在视频中滚动。我尝试过这样做:$('video')。单击(function(){$(this.focus();})。按键(function(e){console.log(e.which);})