如何禁用所有默认热键和行为

时间:2014-04-12 18:47:04

标签: javascript html5

是否有一种简单的方法可以禁用HTML5游戏的所有默认热键和关键操作?

我已经经历了许多步骤,一个接一个地禁用了一个东西,而且代码不断堆积。我只是意外地用ctrl + w关闭了标签,因为我将其添加为游戏中的动作,我真的厌倦了这一点。我希望得到一些简单的方法来禁用所有内容,除非我特意设置做某事,如果可能的话。

我也有移位+右键单击激活右键菜单的问题(正常的右键菜单被禁用),我不知道如何禁用它。

我正在使用Firefox。

1 个答案:

答案 0 :(得分:0)

您应该在事件处理程序中将其设置为catch-all。 (从评论中扩展。)

例如,而不是:

window.onclick = function(e){
    if (e.which == 'w'.charCodeAt(0)) {
        e.preventDefault();
        // do your stuff
    } else if (e.which == 's'.charCodeAt(0)) {
        e.preventDefault();
        // do your stuff
    }
};

您可以这样做:

window.onclick = function(e){
    e.preventDefault();
    if (e.which == 'w'.charCodeAt(0)) {
        // do your stuff
    } else if (e.which == 's'.charCodeAt(0)) {
        // do your stuff
    }
};