我正在开发一个项目,其中包括一个智能搜索引擎。
我想编写一个方法,使客户端在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 不为此事件监听器选择输入字段?
谢谢,史蒂文。
答案 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();
});
});
这有用吗?