javascript - 在 Firefox 上按下空格键时禁用向下滚动

标签 javascript html css firefox

<分区>

我想在按下空格键时禁用向下滚动。这只发生在 Firefox 中。

我已经使用了 overflow:hidden 和元标记视口(viewport)。

谢谢。

最佳答案

这应该可以解决问题。它指出,当在页面/文档上按下空格键时,它不仅会阻止其默认行为,还会恢复到原始状态。

return false 似乎包括 preventDefault。 Source

检查 JQuery API 以获得有关按键事件的更多信息 - http://api.jquery.com/keydown/

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

JQuery 示例

$(document).keydown(function(e) {
    if (e.which == 32) {
        return false;
    }
});

编辑:

正如@amber-de-black 所说“上面的代码将阻止在 HTML 输入上按空格键”。要解决此问题,您需要在 e.target 中准确定位空格键。这可以防止空格键阻塞其他元素,如 HTML 输入。

在这种情况下,我们指定空格键和 body 目标。这将防止输入被阻止。

window.onkeydown = function(e) {
  if (e.keyCode == 32 && e.target == document.body) {
    e.preventDefault();
  }
};

注意:如果您使用的是 JQuery,请使用 e.which 而不是 e.keyCode Source .

event.which 属性标准化 event.keyCode 和 event.charCode

JQuery 充当各种事件的规范化器。如果这让任何阅读本文的人感到惊讶。我建议阅读他们的 Event Object文档。

关于javascript - 在 Firefox 上按下空格键时禁用向下滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18522864/

相关文章:

asp.net - Telerik 升级影响某些控件的样式

javascript - 如果没有 data-ng-bind 则无法打印 var

javascript - 如果在某些网页上运行脚本

javascript - 点击事件后 Canvas 消失

html - 如何在文本的两行下方获取下划线

javascript - 遍历html文件获取href

css - z-index,它如何影响性能?

javascript - 如何为移动应用程序进行滚动定制?

html - 短文本中的页面 anchor

javascript - jquery.fullPage.js 如何在不影响部分滚动的情况下在 div 中启用滚动