我在谷歌浏览器中运行此代码时遇到的奇怪问题:
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是空格键的键码
哇。事实证明,我安装了一个扩展程序,该扩展程序正在用键绑定做一些古怪的事情。
否则,对于生产力来说,这是一个很好的扩展,但如果其他人正在使用它,请注意这个陷阱:
维米乌姆