2012-10-02 41 views
1

我试图选择整个文档,除了某个div。我相信下面的代码应该可以工作,但事实并非如此。任何人都可以看到我做错了什么?如何选择除特定字段以外的整个文档?

$(document:not("#test")).bind('keydown',function(e){ 
    switch(e.which) { 
    case 8: 
    $("#status").append("<br/>captured"); 
    break; 
    default: 
    break; 
    } 
}); 

HTML一起去:

<textarea id="test" ></textarea><br/> 
<input type="text" id="message"/> 
<div id="status"></div> 

我也尝试过这种

//$("*:not(#message)").bind('keydown',function(e){ 

回答

5

几个变种您正在使用jQuery选择(:not("#test"))混合的对象(document)。这使得它无效的语法,因为选择器应该在一个字符串内。

如果它已经运行,您将选择除id="test"(无,因为文档对象不具有HTML属性)之外的所有文档对象(唯一的一个)。

也许你实际上想选择身体内的所有元素,除了div?

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

事件代表团应该使这个简单。

$(document).on("keydown",":not(#message)",function(){ 
    alert("worky"); 
}); 
0

$('*:not(#test)', 'html')应该适用于你的选择,你可以替换*与例如格,如果你是#TEST的div方式,它会更快和jQuery不检查所有的控制无益。

相关问题