除了类之外,Jquery绑定到正文的键

时间:2015-11-25 14:10:08

标签: javascript jquery keypress

我试图将一个键绑定到整个页面,除了一类元素。

$('*').not('.textarea-note').keypress(function (event) {
    // if key pressed is space
    if (event.which == 32) {
        alert('space pressed');
        event.preventDefault();
    }
});

问题在于我需要执行preventDefault(),当我在textarea中时,我就无法创建空格。

我做错了什么,或者除了某些课程之外,它不可能绑定到所有东西。

提前致谢!

编辑:

在罗兰的评论之后,我想出了这个,而且工作得很好。

$(document).keypress(function (event) {
    // if key pressed is space
    if (event.which == 32 && event.target.nodeName != "TEXTAREA") {
        if (videoPlaying) {
            pauseVideo();
        } else {
            playVideo();
        }
        event.preventDefault();
    }
});

1 个答案:

答案 0 :(得分:2)

我认为你正在寻找这个......

$(document).keypress(function(event) {
  // if key pressed is space
  if (event.which == 32) {



    if (event.target.id !== "a1") {// for class $(event.target).attr('class')
      alert('space pressed');
      event.preventDefault();
    }
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<textarea id="a1"></textarea>
<textarea id="a2"></textarea>
<textarea id="a3"></textarea>