html5 实现的全屏模式,怎么监听esc按键事件

宅_技术小菜鸟 2016-06-07 04:30:43
利用html5 提供的api 实现全屏模式,怎么监听esc按键,onkeydown监听不到esc按键,求大神指导
...全文
11015 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_29154279 2019-11-26
  • 打赏
  • 举报
回复
引用 7 楼 国产零零八 的回复:
怎么就没有Esc,有没有认真找过,在这儿误导别人。 按键 键码 按键 键码 按键 键码 按键 键码 BackSpace 8 Esc 27 Right Arrow 39 -_ 189 Tab 9 Spacebar 32 Dw Arrow 40 .> 190 Clear 12 Page Up 33 Insert 45 /? 191 Enter 13 Page Down 34 Delete 46 `~ 192 Shift 16 End 35 Num Lock 144 [{ 219 Control 17 Home 36 ;: 186 | 220 Alt 18 Left Arrow 37 =+ 187 ]} 221 Cape Lock 20 Up Arrow 38 ,< 188 '" 222 //监听键盘按键事件 //监听键盘按键事件 $(document).keypress(function (event) { var code = (event.keyCode ? event.keyCode : event.which); if ( myPlayer != "" && (code == 13 || code == 32)){ if(myPlayer.paused()){ myPlayer.play(); }else{ myPlayer.pause(); } } }); 有的浏览器是event.which var code = (event.keyCode ? event.keyCode : event.which); 这样获得的code是兼容浏览器的
同样的话送给你,误人子弟,你好好看看再来说吧!ESC键是有code码 但是首先是执行系统的操作然后才是html,这样是为了防止盗链恶意全屏导致无法关系的情况~
weixin_43246782 2019-02-28
  • 打赏
  • 举报
回复
@@@@@胡同君
此问题您解决没啊
不是没有ESC 而是 当你全屏状态的时候 按esc 他可以推出全屏模式 但是你自己设置的监听 在这个时候是不好用的 应该系统占用或或是截获了你定义的时间 使他不能够执行 推出全屏之后 你在按ESC 就可以执行 你定义的东西 所以我也在考虑这里该怎么修改
胡同君 2018-08-07
  • 打赏
  • 举报
回复
不是没有ESC 而是 当你全屏状态的时候 按esc 他可以推出全屏模式 但是你自己设置的监听 在这个时候是不好用的 应该系统占用或或是截获了你定义的时间 使他不能够执行 推出全屏之后 你在按ESC 就可以执行 你定义的东西 所以我也在考虑这里该怎么修改
天际的海浪 2018-04-04
  • 打赏
  • 举报
回复
为什么要监听esc? 如果是要监听退出全屏应该是


function fullscreenchange() {
	var isFull = document.fullscreenEnabled || window.fullScreen || document.webkitIsFullScreen || document.msFullscreenEnabled;
	if (!isFull) {
		alert("你退出了全屏");
	}
}
document.addEventListener("fullscreenchange", fullscreenchange);
document.addEventListener("mozfullscreenchange", fullscreenchange);
document.addEventListener("webkitfullscreenchange", fullscreenchange);
document.addEventListener("msfullscreenchange", fullscreenchange);

zxlsara 2018-04-04
  • 打赏
  • 举报
回复
9楼说的对呀
SHC1993 2017-09-26
  • 打赏
  • 举报
回复
7楼的大佬。老师没说过做题目之前要仔细审题么
独孤怎会求败 2017-07-09
  • 打赏
  • 举报
回复
6楼正解 成功解决了折磨了我两天的问题
国产零零八 2017-06-15
  • 打赏
  • 举报
回复
怎么就没有Esc,有没有认真找过,在这儿误导别人。 按键 键码 按键 键码 按键 键码 按键 键码 BackSpace 8 Esc 27 Right Arrow 39 -_ 189 Tab 9 Spacebar 32 Dw Arrow 40 .> 190 Clear 12 Page Up 33 Insert 45 /? 191 Enter 13 Page Down 34 Delete 46 `~ 192 Shift 16 End 35 Num Lock 144 [{ 219 Control 17 Home 36 ;: 186 | 220 Alt 18 Left Arrow 37 =+ 187 ]} 221 Cape Lock 20 Up Arrow 38 ,< 188 '" 222 //监听键盘按键事件 //监听键盘按键事件 $(document).keypress(function (event) { var code = (event.keyCode ? event.keyCode : event.which); if ( myPlayer != "" && (code == 13 || code == 32)){ if(myPlayer.paused()){ myPlayer.play(); }else{ myPlayer.pause(); } } }); 有的浏览器是event.which var code = (event.keyCode ? event.keyCode : event.which); 这样获得的code是兼容浏览器的
wurijie5 2017-03-11
  • 打赏
  • 举报
回复
浏览器故意不上监听ESC键的,跟网页加载完成之后不能用程序使浏览器全屏一样的道理,避免开发者恶意全屏,不啰嗦,解决办法如下: window.onresize = function(){ if(!checkFull()){ //要执行的动作 } } function checkFull(){ var isFull = document.fullscreenEnabled || window.fullScreen || document.webkitIsFullScreen || document.msFullscreenEnabled; //to fix : false || undefined == undefined if(isFull === undefined) isFull = false; return isFull; }
jac-song 2017-02-28
  • 打赏
  • 举报
回复

$(function(){
     $(window).keydown(function (event) {
        if (event.keyCode == 27) {
            alert("执行退出全屏操作...");
        }
    });
});
这样写,我测试是可以的哦~~
  • 打赏
  • 举报
回复
所有按键都能监听除了esc
vswen5 2016-06-07
  • 打赏
  • 举报
回复
不是有键盘事件的吗 比如enter 不知道有没有esc

39,083

社区成员

发帖
与我相关
我的任务
社区描述
HTML5是构建Web内容的一种语言描述方式。HTML5是互联网的下一代标准,是构建以及呈现互联网内容的一种语言方式.被认为是互联网的核心技术之一。
社区管理员
  • HTML5社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧