我正在开发一个视频播放器,希望能通过键盘控制基本的视频操作,如播放、暂停、快进。这是我使用的代码,用于获取键盘事件:
$("#video_container_div").on("keypress", function (e) {
e.preventDefault();
e.stopPropagation();
switch (e.which) {
case 32:
{ // space
console.info("I am in keyboard controls");
$("#playpausebtn").click();
break;
}
default:
return;
}
});
$("#fullscreenbtn").click(function () { //bind click event on fullscreen button
console.info("I am in fullscreen")
fullscreenFun();
});
现在我面临的问题是,如果用户点击全屏按钮,然后按空格键,事件将被触发两次。 http://202.164.44.244/products/trunk/video_player/sample1.htm 首先它会播放/暂停视频,然后自动触发全屏或任何最后聚焦的事件。
如果我按了全屏按钮,然后按空格键,控制台就会显示这个:
I am in fullscreen
I am in keyboard controls
I am in fullscreen
在另一个堆栈问题中,有人给出了类似问题的答案。
这是播放器的链接:
http://202.164.44.244/products/trunk/video_player/sample1.htm
但我需要具体的解决方案。这个问题已经占据了我的一整天。
fullscreenFun();
是什么意思? - Evan Knowles