javascript Jquery:使用preventDefault()仅禁用空格键

at0kjp5o  于 2022-12-17  发布在  Java
关注(0)|答案(1)|浏览(143)

我想使用函数preventDefault()来禁止空格键向下滚动,就像Chrome中通常使用的那样。

$('html').keydown(function(e){
 if(e.keyCode == 32){
  e.preventDefault()
 }
});

我得到了预期的行为,但是preventDefault函数在我的网站上也有各种不想要的效果。我如何具体地分配这个函数来表示“防止空格键的默认行为,并且不做其他任何事情”?
谢谢大家!

yeotifhr

yeotifhr1#

下面应该在香草js工作:

window.addEventListener('keydown', function(e) {
  if(e.keyCode === 32 && e.target === document.body) {
    e.preventDefault();
  }
});

解释:
在窗口本身添加一个keydown事件监听器,然后检查按下的键是否为空格,并检查其目标是否在文档主体上
您也可以检查密钥,例如:e.code === "Space",但检查2个数字在性能方面更快

相关问题