Javascript 如何为Chrome用作快捷键的键使用window的keydown侦听器?

Javascript 如何为Chrome用作快捷键的键使用window的keydown侦听器?,javascript,google-chrome,addeventlistener,keydown,Javascript,Google Chrome,Addeventlistener,Keydown,在Google Chrome中运行此代码时,我遇到了一个奇怪的问题: addEventListener'keydown',函数事件{ console.logevent } 例如,当我看到一些键w、a、s、空格键、esc的日志时,其他键不会触发此事件:d、r、l 事实上,其中一些字母如r是Chrome中的内置快捷方式,会引发其他事件,即页面刷新 有趣的是,使用preventDefault并不能解决问题: addEventListener'keydown',函数事件{ event.preventDe

在Google Chrome中运行此代码时,我遇到了一个奇怪的问题:

addEventListener'keydown',函数事件{ console.logevent } 例如,当我看到一些键w、a、s、空格键、esc的日志时,其他键不会触发此事件:d、r、l

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

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

addEventListener'keydown',函数事件{ event.preventDefault console.logevent } 请注意,在Firefox中,没有preventDefault的原始代码可以正常工作,但在Chrome中则不行

你知道怎么解决这个问题吗

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

document.addEventListener("keydown",function(e){
        console.log(e.keyCode);
    })
您可以使用e或event。。 如果您按下任何键,您将获得该键的特定键代码。 然后你可以设置任何条件,比如

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

32是空格键的键码。结果是我安装了一个扩展,它用键绑定做了一些奇怪的事情

这是一个很好的扩展,但如果其他人正在使用它,请注意以下问题:


你在说什么?r不是Chrome中的内置快捷键,也不是你列出的任何其他键,否则人们根本无法打字或使用互联网。但是,Ctrl+r是一种快捷方式。。。你想用这样的组合键吗?在这种情况下,只要页面看到,event.preventDefault就会在Chrome中禁用快捷方式。@Herohtar也许我应该更具体一点-但很明显,如果您在输入框/区域中,这些默认事件不会被触发。但无论出于什么原因,我在任何页面上都遇到了这些不需要的快捷方式,而没有按Ctrlno,没有。请查看我提交的答案。我是个傻瓜