是否有更好的方法来重做下面的代码?更好的方法?当用户点击ESC键时,我需要页面将他们重定向回他们的主页(仪表板屏幕)。
不过,我的Safari浏览器有问题。当Safari中的用户按下ESC键时--我的服务器阻塞了他们的IP地址(有点像蛮力保护标志),我认为这是因为它试图一次又一次刷新页面,而不将用户发送回仪表板。
下面的代码在Chrome和Firefox中运行得很好。
var keyPressed = {};
document.addEventListener('keydown', function(e) {
keyPressed[e.keyCode] = true;
}, false);
document.addEventListener('keyup', function(e) {
keyPressed[e.keyCode] = false;
}, false);
function goToControls() {
if (keyPressed["27"]) {
window.location.href = 'home.php';
}
setTimeout(goToControls, 5);
}
goToControls();发布于 2018-04-11 16:29:40
我使用了下面的内容,它现在似乎很高兴!
document.onkeydown = function(evt) {
evt = evt || window.event;
var isEscape = false;
if ("key" in evt) {
isEscape = (evt.key == "Escape" || evt.key == "Esc");
} else {
isEscape = (evt.keyCode == 27);
}
if (isEscape) {
alert("Escape");
}
};https://stackoverflow.com/questions/49779203
复制相似问题