如何将窗口的键关闭侦听器用于 Chrome 用作快捷方式的键?



我在谷歌浏览器中运行此代码时遇到的奇怪问题:

window.addEventListener('keydown', function (event) {
    console.log(event)
})

当我看到某些键(例如"w"、"a"、"s"、"空格键"、"esc"(的日志时 - 其他键不会触发此事件:"d"、"r"、"l">

事实上,其中一些字母(如"r"(是 Chrome 中的内置快捷方式,会导致触发其他事件,即页面刷新。

有趣的是,使用 preventDefault 并不能解决问题:

window.addEventListener('keydown', function (event) {
    event.preventDefault()
    console.log(event)
})

请注意,在Firefox中,原始代码(不带preventDefault(工作正常 - 但在Chrome中则不然。

知道如何解决这个问题吗?

更新可能值得注意的是(尽管我不确定为什么这会影响它(,当从文件系统运行此代码时,Chrome 上没有问题。但是一旦提供此代码(即从 localhost (,我们就会遇到问题。

document.addEventListener("keydown",function(e){
        console.log(e.keyCode);
    })

您可以使用 E 或事件。如果键入任何键,您将获得该键的特定键代码。然后你可以放任何条件,比如,

if(e.keyCode == 32){
   video.pause();
}

32是空格键的键码

哇。事实证明,我安装了一个扩展程序,该扩展程序正在用键绑定做一些古怪的事情。

否则,对于

生产力来说,这是一个很好的扩展,但如果其他人正在使用它,请注意这个陷阱:

维米乌姆

最新更新