Javascript 从特定元素中排除按键

Javascript 从特定元素中排除按键,javascript,jquery,Javascript,Jquery,我想抓住空格键,下面的人确实抓住了。然而,它与文档绑定,即使在输入框中键入内容时按空格键,捕捉也会触发。如何排除这一点 $(document).keypress(function(e) { if(e.which == 32) { alert('trigger'); } }); 您可以使用nodeName捕获事件源: 为什么要包括文本区域?textarea不应该触发我们想让用户输入的任何东西,对吗?我包括它只是为了演示使用方法(见小提琴)。您可以只留下“BODY

我想抓住空格键,下面的人确实抓住了。然而,它与文档绑定,即使在输入框中键入内容时按空格键,捕捉也会触发。如何排除这一点

$(document).keypress(function(e) {
    if(e.which == 32) {
        alert('trigger');
    }
});

您可以使用
nodeName
捕获事件源:


为什么要包括文本区域?textarea不应该触发我们想让用户输入的任何东西,对吗?我包括它只是为了演示使用方法(见小提琴)。您可以只留下“BODY”(文档)。显然,您可以做同样的相反操作,创建一个“排除”数组,该数组只包含要捕获空格键并在中使用的源。我明白了。非常感谢,虽然我不知道如何使用e.target.nodeName lol
//Array of sources you want to include
var includeIn = ['BODY','TEXTAREA'];
$(document).keypress(function(e) {
    if(e.which == 32 && includeIn.indexOf(e.target.nodeName) != -1) {
        alert('trigger');
    }

 });