JavaScript,Chrome,文本框,空格,退格键

时间:2012-10-13 19:53:19

标签: javascript google-chrome clojurescript

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

现在,请考虑以下情况:

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

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

我想阻止这种“默认行为” - 即我想处理Space / Backspace事件,我希望浏览器忽略它们。

谢谢!

1 个答案:

答案 0 :(得分:2)

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

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

请不要像这样全局杀死键盘快捷键。它伤害了可用性。仅当页面上的某些自定义窗口小部件具有焦点时才会阻止默认行为,并且此元素可能会使用键盘快捷键(如选项卡)失去焦点。