2016-05-17 122 views
0

我想使用JavaScript检测空格键何时被按下。我想排除任何输入焦点的所有事件。这是纯粹的JS可能吗?当没有文本输入焦点时检测空格键

注意:此问题的主要观点是排除所有输入焦点所在的事件。

+0

的[响应键按压的javascript]可能的复制(http://stackoverflow.com/questions/7600892/respond-to-key-press-javascript) – iwein

+0

该问题的主要观点是排除输入集中的所有事件。 – quemeful

+0

其他问题只是一个按键检测 – quemeful

回答

5
// capture keyboard input 
document.onkeypress = function (e) { 

    // check for spacebar 
    if (e.keyCode == 32) { 

     // check if an input is currently in focus 
     if (document.activeElement.nodeName.toLowerCase() != "input") { 

      // prevent default spacebar event (scrolling to bottom) 
      e.preventDefault(); 

      // do stuff you want ... 
     } 
    } 
}; 

一些其他元件来监视空格键焦点:

  • textarea的
  • 按钮
+2

我知道OP没有提及它,但也可能是排除textarea的好主意。 – dman2306

+0

是的,那是真的 – quemeful

+2

...和'