1

我正在用 JavaScript 编写代码,目标是 Chrome。

现在,考虑一下在以下情况下会发生什么:

  • 我在网页上按空格/退格键 vs
  • 我在文本框上按空格/退格

通过使用 (goog.events.listen js/document.body ...) 我可以监听 Space/Baskspace 事件并对它们做出反应。但是,浏览器仍会处理它们,即当我按 Space 时,浏览器仍会向下滚动,而当我按 Basckspace 时,浏览器会转到上一个网页。

我想阻止这种“默认行为”——即我想处理空格/退格事件,并且我希望浏览器忽略它们。

谢谢!

4

1 回答 1

2

从事件处理程序返回 false 以取消事件。

document.body.onkeydown = function killSpace(e) {
    if (e.keyCode === 32) {
        return false;
    }
};

请不要像这样在全局范围内杀死键盘快捷键。它损害了可用性。仅当页面上的某些自定义小部件具有焦点时才阻止默认行为,并且此元素可以使用诸如 tab 之类的键盘快捷键失去焦点。

于 2012-10-13T19:57:34.850 回答