【发布时间】:2015-03-18 16:16:31
【问题描述】:
我正在开发视频播放器,我想通过键盘控制一些基本的视频操作,例如播放、暂停、搜索。下面是我用来获取键盘事件的代码。
$("#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
但我需要具体的解决方案。这个问题已经花了我一整天的时间。
【问题讨论】:
-
你能提供plunkr链接吗?
-
`fullscreenFun();`是什么意思?
-
我刚刚编辑了问题并提到了链接。请看一下
标签: javascript jquery keyboard-events