我知道很多人會對此問題感到憤怒,但...任何方式來防止/禁用瀏覽器中的CTRL + [鍵]快捷鍵?
我有一個使用WebGL和指針鎖定API的遊戲。由於許多遊戲在CTRL上有「蹲伏」的性質,我想知道是否有任何可能的方法來停止像CTRL + S和CTRL + W這樣的瀏覽器快捷方式...
目前我有嚴厲地禁止控件在其中有任何CTRL鍵。我爲C設置了'蹲',這也很常見,但我也有關於製作MMORPG風格遊戲的想法,在這種遊戲中,您將擁有多個操作欄,並且由於CTRL不可行,因此無法進行多種組合。
我知道很多人會對此問題感到憤怒,但...任何方式來防止/禁用瀏覽器中的CTRL + [鍵]快捷鍵?
我有一個使用WebGL和指針鎖定API的遊戲。由於許多遊戲在CTRL上有「蹲伏」的性質,我想知道是否有任何可能的方法來停止像CTRL + S和CTRL + W這樣的瀏覽器快捷方式...
目前我有嚴厲地禁止控件在其中有任何CTRL鍵。我爲C設置了'蹲',這也很常見,但我也有關於製作MMORPG風格遊戲的想法,在這種遊戲中,您將擁有多個操作欄,並且由於CTRL不可行,因此無法進行多種組合。
注意:在鍍鉻Ctrl鍵 + W¯¯是 「保留」,使用
window.onbeforeunload
嘗試此(禁用Ctrl鍵 + W¯¯和Ctrl鍵 + 小號) :
window.onbeforeunload = function() {//Prevent Ctrl+W
return "Really want to quit the game?";
};
document.onkeydown = function (e) {
e = e || window.event;//Get event
if (e.ctrlKey) {
var c = e.which || e.keyCode;//Get key code
switch (c) {
case 83://Block Ctrl+S
case 87://Block Ctrl+W --Not work in Chrome
e.preventDefault();
e.stopPropagation();
break;
}
}
};
嗨,我不知道標記這個正確的,因爲我發現其他地方說,你不能阻止CTRL + W和其他一些。這適用於CTRL + S而不是CTRL + W – user2000236
傾聽'keydown's;如果鍵匹配,則調用'event.preventDefault()'並調用適當的動作。或者,您可以查看[mousetrap](http://craig.is/killing/mice),它可以說是JavaScript最好的關鍵捕獲庫。 – royhowie