我试图将一个键绑定到整个页面,除了一类元素。
$('*').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();
}
});
答案 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>