0

我一直在为我的 Web 应用程序编写几个快捷方式,其中一个保存我正在处理的页面,另一个关闭页面。

这两个快捷方式都像函数本身一样工作。

这两个快捷方式都适用于 web 管理员,以便他们可以快速保存和关闭我们的主题编辑页面。COMMAND+S 保存页面并关闭,而 ESC 只是关闭页面。

问题是,当我按 COMMAND+F 搜索它搜索的东西时,它没有问题,但是如果我之后或在搜索过程中的任何时候按“S”键,它就像我按 COMMAND+S 并保存并关闭页面一样,好像它击中了快捷方式,即使没有同时按下 COMMAND+S。

有谁知道如何解释这种行为?我已经尝试了一切。

这是我的代码:

enableHotkeys: function() {
    var isCommand = false;
    document.onkeyup=function(e) {
        if (e.which == 91) {
            isCommand=false;
        }
    };
    document.onkeydown=function(e) {
        if (e.which == 91) {
            isCommand = true;
        } else if (e.which == 83 && isCommand == true) {
            themeArchive.codeEditSave();
            return false;
        } else if (e.which == 27) {
            themeEditPanel.close();
            return false;
        }
    };
},
disableHotkeys: function() {
    document.onkeyup=function(e) {};
    document.onkeydown=function(e) {};
},
4

0 回答 0