javascript - HTML 防止空格键滚动页面

标签 javascript html

我正在使用代码:

window.onkeydown = function(e) { 
    return !(e.keyCode == 32);
};

这正是我想要的,在按下空格键时停止页面滚动。然而,它也阻止用户在文本框中键入空格

有没有办法在打字时防止空格键滚动并保留空格键功能?

最佳答案

尝试检查是否target是正文:

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

Demo

关于javascript - HTML 防止空格键滚动页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22559830/

相关文章:

javascript - 如何使 UI 对其他屏幕尺寸的响应更加灵敏?

javascript - 使用 jQuery 淡入淡出背景图像

javascript - 添加 if/else 语句后游戏组件不会绘制

php 和 javascript 日期不匹配

javascript - 用普通的 Javascript 将具有相同类的元素彼此相邻包装

javascript - 当没有什么东西应该那么大时,使用nodejs处理内存不足错误

javascript - 当我单击与之对应的复选框时,如何使不可编辑的文本框变为可编辑

html - 模态框打不开

javascript - Vuex:Axios GET 请求在组件内部返回未定义

javascript - Polymer 1.0 - 通过模板绑定(bind)上的嵌套数组递增。