HTML阻止空格键滚动页面

Par*_*x13 25 html javascript

我正在使用代码:

window.onkeydown = function(e) { 
    return !(e.keyCode == 32);
};
Run Code Online (Sandbox Code Playgroud)

这正是我想要的,当按下空格键时停止页面滚动.但是,它还会阻止用户在文本框中键入空格

有没有办法阻止空格键滚动以及在键入时保留空格键功能?

Ori*_*iol 57

尝试检查target身体是否:

window.addEventListener('keydown', function(e) {
  if(e.keyCode == 32 && e.target == document.body) {
    e.preventDefault();
  }
});
Run Code Online (Sandbox Code Playgroud)
body { height: 100000px; }
Run Code Online (Sandbox Code Playgroud)
<input />
<textarea></textarea>
Run Code Online (Sandbox Code Playgroud)

演示