如何从JavaScript中完全禁用键盘快捷键

时间:2016-05-06 13:08:40

标签: javascript jquery browser keyboard-shortcuts

我正在使用Phaser 2.2.2来开发打字游戏,并且有一种方法叫做:

game.input.keyboard.addKeyCapture(/*[array of keycodes]*/);

这适用于Space(没有页面滚动),点,逗号破折号(带有一个网页向后冲破),但没有使用单引号,因为我仍然可以用它打开快速查找,即浏览器仍然检测到捷径。当按下传播到浏览器时,此方法可防止键的冒泡状态,即浏览器未检测到按键。

addKeyCapture

我还发现这个漂亮的打字应用程序会禁用完全的键盘快捷键,例如魔术:https://typing.io/ 没有其他配置或安装插件或插件。

我如何在Phaser游戏中实现这一目标?我应该放一些第三方JS库。

啊,顺便说一下这个工作的工具:https://github.com/jeresig/jquery.hotkeys

2 个答案:

答案 0 :(得分:4)

当用户按下某个键时会发生onkeydown事件,你可以使用returing false来阻止它:

使用:

document.onkeydown = function (e) {
        return false;
}

答案 1 :(得分:0)

为时已晚,但是如果您要阻止键盘快捷键,大多数快捷键都使用 ctrl 键,而使用jQuery来阻止该键的代码将是:

$("input[name='yourinput']").keypress(function(event) {
    if ( event.keyCode == 17 ) {
         event.preventDefault();
    }
});

注意:键17是 ctrl 键。