我有一个输入框。在某些情况下,当用户按下Tab键时,我希望保持用户专注于输入框。基本上,我正在模仿Google的自动填充搜索框的功能。如果使用类myInput的文本框,以下代码在IE、Chrome和Safari中都能正常工作,如果您使用Tab键跳出文本框,则焦点仍停留在文本框中。但是在Firefox中,当您使用Tab键跳出文本框时,将转到下一个文本框。(这是我正在做的简化版本。如果我可以让它起作用,我就能让我的真实代码起作用。)
$(document).ready(
function()
{
$(".myInput").blur
(
function()
{
$(this).focus();
$(this).select();
}
);
}
);
PS. 请不要建议使用setTimeout()修复。谢谢。
我已经阅读了关于jQuery的.focus()和javascript的.focus()并且它们不同的文章。我理解这一点(我想),但我仍然无法弄清楚我做错了什么。
补充说明... 我可以通过这种方式使其工作。
$(document).ready(
function()
{
$(".myInput").blur
(
function()
{
setTimeout("$('.myInput').focus();",1);
}
);
}
);
似乎有点瑕疵,但我想不出为什么 Firefox 在失焦后无法设置焦点。因此,如果你们中的任何人有答案,那就太好了。