我一直在为我的 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) {};
},