这个问题在这里已有答案:
$(document).keyup(function(e) {
if (e.shiftKey && e.keyCode == 65 && e.keyCode == 83) {
url = "https://stackoverflow.com/";
window.location.replace(url);
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
正如@putvande所说,你一次只能检测到一个按键,我建议你检测多个keydown组合,如下所示:
let shiftkey_press = false;
let A_press = false;
let S_press = false;
document.onkeydown = function(e) {
if (e.shiftKey ) {
shiftkey_press = true;
}
if (e.keyCode == 65 ) {
A_press = true;
}
if (e.keyCode == 83 ) {
S_press = true;
}
console.log("shiftkey_press:", shiftkey_press)
console.log("A_press:", A_press)
console.log("S_press:", S_press)
if (shiftkey_press && A_press && S_press ){
url = "https://stackoverflow.com/";
// window.location.replace(url);
alert(url);
}
}
是的,我知道......这有点令人讨厌,但我认为它会做到这一点,让我知道它是否有效!
一个工作示例:https://jsfiddle.net/b7an8L12/
我只是通过警报替换你的window.location.replace()“确保打开控制台看看发生了什么!” :-)
我创建了一个日志功能,以便您可以看到正在使用的密钥代码。并使用回车键进行设置。
document.body.addEventListener('keyup', logKey);
function logKey(e) {
console.log(`KeyCode: ${e.code}`)
if (e.code === 'KeyS' || e.code === 'Enter') {
let url = "https://stackoverflow.com/";
window.location.replace(url);
}
}