我知道很多人会因为被问到而感到生气但是......
我有一个使用WebGL和Pointer Lock API的游戏。由于许多游戏具有“蹲伏”的性质。在CTRL我想知道是否有任何可能的方法来停止CTRL + S和CTRL + W等浏览器快捷方式......
目前我不得不严厉禁止控件在其中包含任何CTRL键。我已经设定了#crouch' C也是常见但我也有关于制作MMORPG风格的游戏的想法,你会有几个能力的动作条,由于CTRL不可行,很多组合是不可能的。
答案 0 :(得分:23)
注意:在Chrome Ctrl + W 为“已保留”,请使用
window.onbeforeunload
注意: Chrome需要设置
event.returnValue
在此代码中,document.onkeydown
用于旧浏览器,window.onbeforeunload
用于Chrome和Firefox
尝试此操作(禁用 Ctrl + W 和 Ctrl + S ):
window.onbeforeunload = function (e) {
// Cancel the event
e.preventDefault();
// Chrome requires returnValue to be set
e.returnValue = 'Really want to quit the game?';
};
//Prevent Ctrl+S (and Ctrl+W for old browsers and Edge)
document.onkeydown = function (e) {
e = e || window.event;//Get event
if (!e.ctrlKey) return;
var code = e.which || e.keyCode;//Get key code
switch (code) {
case 83://Block Ctrl+S
case 87://Block Ctrl+W -- Not work in Chrome and new Firefox
e.preventDefault();
e.stopPropagation();
break;
}
};