我在chrome和firefox中使用JavaScript FullScreen API和jQuery。我想停止keydownevent冒泡,因为我不希望该用户使用热键(F11和Ecs)离开全屏模式。但是chrome中的回调不会在firefox调用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);
}
答案 0 :(得分:0)
这种情况正在发生,因为它是一种内置的安全方法,浏览器供应商为了防止客户想要做的事情而明确地进行了硬编码:让人们不要离开。
就个人而言,我希望esc
可用作按钮来显示全屏游戏的菜单(看多年来它已经完成了),但目前这不是一个选项。
当然,你可以听取退出全屏,然后调出游戏菜单(这很奇怪),但除此之外,联盟营销人员会把你收到整页广告,让他们满满的 - 屏幕,并没有提供退出按钮,除了关闭浏览器(你不能不使用键盘,Fullscreen也可以阻止)。