在jQuery中选择除...之外的所有元素

时间:2013-10-04 14:23:21

标签: javascript jquery jquery-selectors

我正在开发一个项目,其中包括一个智能搜索引擎。

我想编写一个方法,使客户端在smartsearch中写入,即使它没有集中注意力。 F.E.浏览网站,客户点击密钥焦点跳转到智能搜索。

使用这个简单的代码可以正常工作:

$(document).ready(function()
{   
 $("*").keydown( function()
 { 
   $("input.ss-24#b").focus();
 });
});

但是,正如你所看到的那样,无需开启其他输入也是如此,这不是我想要的方式。 我尝试了几种“可能的解决方案”,例如:not()甚至 .not()方法,如:

$(document).ready(function()
{   
 $("*").not("input").keydown( function()
 { 
  $("input.ss-24#b").focus();
 });
});

仍然也取消了带有“input”标记名的字段。我该怎么做才能强制jQuery 为此事件监听器选择输入字段

谢谢,史蒂文。

2 个答案:

答案 0 :(得分:2)

$(document).keydown(function() {
        if (!$('input').filter(':focus').length) {

             $('#b').focus();

        }    
});

<强> Working fiddle

答案 1 :(得分:0)

 $(document).ready(function () {
     $(document).keydown(function (e) {
    $("input.ss-24#b").focus();
    });
});

这有用吗?

http://jsfiddle.net/Xbbu8/