在 window 上监听keypress事件
当触发keydown事件时,判断ctrlKey是否为true,keyCode是否为87(w
如果是,阻止默认事件。
但是似乎并不能阻止窗口关闭事件
//测试屏蔽ctrl+w $(window).on('keydown',function(event){ if(event.ctrlKey&&event.keyCode==87){ event.preventDefault(); event.returnValue = false; alert("已阻止关闭事件"); return false; } if(event.ctrlKey&&event.keyCode==65){ event.preventDefault(); alert("已阻止关闭事件"); return false; } });
下面那一段是测试其他组合键是不是能用
经过测试发现ctrl+a可以拦截,但是ctrl+w并不能拦截
通过打断点的方式发现,如果按了ctrl+w,似乎浏览器并没有触发keydown事件就直接关闭了页面
请问有什么解决方法么?
navigator.userAgent:
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36"
==============================
刚刚去测试了一下
ctrl + w在chrome浏览器中,不会触发任何监听事件
如果说为了安全或者为了用户主观意愿,在按下ctrl + w 以后一定要关闭当前标签页
为什么不做成,事件依旧触发,但是强制执行关闭命令。
类似于 onbeforeunload
相关分类