Javascript 试图以编程方式设置焦点不适用于Firefox

Javascript 试图以编程方式设置焦点不适用于Firefox,javascript,jquery,firefox,Javascript,Jquery,Firefox,我在Firefox中遇到了一个问题,试图使用jqueryjavascript将焦点设置为控件。虽然我的具体问题相当复杂,但即使下面的简单测试用例也不适合我。已找到输入,其值已更改,但输入未聚焦。 仅Firefox存在问题 在Windows 7上试用Firefox 44.0.2 它与MS IE 10和Chrome一起工作 $().ready(函数()){ $(“#I”).val(3); $(“#I”).focus();//JQuery focus-不起作用 var ctl=document.ge

我在Firefox中遇到了一个问题,试图使用jqueryjavascript将焦点设置为控件。虽然我的具体问题相当复杂,但即使下面的简单测试用例也不适合我。已找到输入,其值已更改,但输入未聚焦。
仅Firefox存在问题

在Windows 7上试用Firefox 44.0.2
它与MS IE 10和Chrome一起工作

$().ready(函数()){
$(“#I”).val(3);
$(“#I”).focus();//JQuery focus-不起作用
var ctl=document.getElementById('I')
ctl.value='DOM';
ctl.focus();//DOM本机焦点-不工作
})

我认为在Firefox上设置焦点存在问题,有一个解决方法涉及使用。见下文:

$().ready(函数()){
$('I').val(3);
$('#I').focusout(函数(){
setTimeout(函数(){
$(this.focus();
}, 0);
});
$('I').focus();
})

这种类型的就绪事件:

$().ready(function() {
很久以前就被弃用了,最好不要使用它


您可以使用
autofocus
属性:

$(文档).ready(函数(){
$('I').val(3);
});


在您的问题片段中对我有效@PraveenKumar我现在正在不同的浏览器中尝试这个片段。在firefox中失败。你试过?我知道。尝试给出
$(文档)。准备好了吗(
相反?函数被调用,值被设置。这只是聚焦功能在Mac上的FF45上起作用。
自动聚焦
属性未被充分利用,几乎是未知的。很好的建议。正如我写的:
我的具体问题相当复杂
我需要在特定时刻聚焦,自动聚焦没有任何意义use@edc65那样的话,你可以改为try
.focus()
DOM事件。你是说DOM focus方法吗?我来试试看提示,我试过DOM focus方法。同样的问题。这确实是Firefox问题。如果在FF45 Mac上的输入开始时设置焦点,可能需要一些setSelectionRange()@Kaido确定您是否要选择输入中的内容,但OP可能希望将焦点设置为输入,因为其中没有注释。或者他可能希望在输入前加前缀,让用户填写后面的内容,如OPost。这样,在输入末尾设置插入符号更方便,这就是setSelectionRange可用的地方,而不仅仅是选择ct一些文本;-)