我在chrome和火狐中使用JavaScript FullScreen API和jQuery。我想停止按键事件冒泡,因为我不想让用户离开全屏模式的热键(F11和Ecs)。但是chrome中的回调不会调用和回调F11,而不会调用Esc。为什么会发生这种情况?
$(document).bind({
'keydown': function (e) {
alert('It works!');
if (e.which == 122 || e.which == 27) {
alert('F11 or Esc');
return false;
}
});
var docElm = document.getElementById('gallery');
if (docElm.mozRequestFullScreen) {
docElm.mozRequestFullScreen();
}
else if (docElm.webkitRequestFullScreen) {
docElm.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT);
}发布于 2012-12-05 22:36:57
这是因为它是一种内置的安全方法,浏览器供应商已经明确地对其进行了硬编码,以防止您的客户想要做的事情:阻止人们离开。
就我个人而言,我希望esc可以作为一个按钮来弹出全屏游戏的菜单(因为这是它多年来一直在做的事情),但目前这不是一个选择。
当然,你可以监听退出全屏,然后调出游戏菜单(这很奇怪),但不然的话,联盟营销人员会把你塞进整页广告,让它们全屏显示,除了关闭浏览器外,不提供退出按钮(这是你不能不使用键盘做的,而全屏也可以阻止)。
https://stackoverflow.com/questions/13724344
复制相似问题