首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ESC重点狩猎问题

ESC重点狩猎问题
EN

Stack Overflow用户
提问于 2018-04-11 15:37:56
回答 1查看 385关注 0票数 0

是否有更好的方法来重做下面的代码?更好的方法?当用户点击ESC键时,我需要页面将他们重定向回他们的主页(仪表板屏幕)。

不过,我的Safari浏览器有问题。当Safari中的用户按下ESC键时--我的服务器阻塞了他们的IP地址(有点像蛮力保护标志),我认为这是因为它试图一次又一次刷新页面,而不将用户发送回仪表板。

下面的代码在Chrome和Firefox中运行得很好。

代码语言:javascript
运行
复制
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();
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-11 16:29:40

我使用了下面的内容,它现在似乎很高兴!

代码语言:javascript
运行
复制
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");
    }
};
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49779203

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档