gpt4 book ai didi

javascript - .focus() "set focus on a target input"在 Firefox 中不起作用

转载 作者:行者123 更新时间:2023-11-29 20:18:13 24 4
gpt4 key购买 nike

我有一个输入框。在某些情况下,我想让用户在按下 Tab 键时将注意力集中在输入字段上。基本上我是在模仿谷歌自动填充搜索框的功能。我在所有浏览器中都运行良好,除了我从来没有遇到过问题的浏览器...... Firefox!?

以下代码在 IE、Chrome 和 Safari 中按预期工作,如果您使用 myInput 类 Tab 离开文本框,您的焦点将停留在文本框中。但在 Firefox 中,当您 Tab 离开文本框时,您将转到下一个文本框。 (这是我正在做的事情的一个非常简化的版本。如果我能让它工作,我就能让我的真实代码工作。)

$(document).ready(
function()
{
$(".myInput").blur
(
function()
{
$(this).focus();
$(this).select();
}
);
}
);

附言。请不要建议使用 setTimeout() 进行修复。谢谢。

我读过描述 jQuery 如何具有 .focus() 和 javascript 如何具有 .focus() 以及它们有何不同的文章。我理解这一点(我认为),但我仍然无法弄清楚我做错了什么。

添加...我可以让它以这种方式工作

$(document).ready(
function()
{
$(".myInput").blur
(
function()
{
setTimeout("$('.myInput').focus();",1);
}
);
}
);

看起来很老套,但我不明白为什么 Firefox 不会将焦点设置为模糊。所以,如果你们中有人知道答案,那将是一件很高兴的事。

最佳答案

当您使用 jQuery 时,应该使用 .focusout() 方法。

http://api.jquery.com/focusout/

这与 blur 事件的不同之处在于它支持检测父元素失去焦点(换句话说,它支持事件冒泡)。

关于javascript - .focus() "set focus on a target input"在 Firefox 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5327811/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com