Jquery 如何选择除某个字段之外的整个文档?

Jquery 如何选择除某个字段之外的整个文档?,jquery,Jquery,我正在尝试选择除某个div之外的整个文档。我相信下面的代码应该可以工作,但它不能。有人能看出我做错了什么吗 $(document:not("#test")).bind('keydown',function(e){ switch(e.which) { case 8: $("#status").append("<br/>captured"); break; default: break; } }); 您正在将对象(文档)与jQuery选择器(:not(#te

我正在尝试选择除某个div之外的整个文档。我相信下面的代码应该可以工作,但它不能。有人能看出我做错了什么吗

$(document:not("#test")).bind('keydown',function(e){
  switch(e.which) {
  case 8:
  $("#status").append("<br/>captured");
  break;
  default:
  break;
  }
});
您正在将对象(
文档
)与jQuery选择器(
:not(#test”)
)混合。这使得它的语法无效,因为选择器应该在字符串中

如果它已经运行,您将选择所有文档对象(唯一的一个),除了带有
id=“test”
的文档对象(无,因为文档对象没有HTML属性)

也许您真的想要选择主体内部的所有元素,除了那个div

$('body *:not(#test)')

事件委派应该使这变得简单

$(document).on("keydown",":not(#message)",function(){
    alert("worky");
});
$('*:not(#test)'html')
应该适用于您的选择器,如果您的#test是div,您可以用例如div替换*,这样会更快,而且jquery不会无用地检查所有控件

$('body *:not(#test)')
$(document).on("keydown",":not(#message)",function(){
    alert("worky");
});