IE8不允许jQuery将焦点放在文本框上

时间:2010-10-18 21:51:20

标签: jquery internet-explorer-8 focus

我有一个生成弹出窗口的jQuery,如下所示:

http://www.jsfiddle.net/sLjfx/4/

问题是以下一行:

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

似乎不想在IE8中工作。弹出窗口会加载,但是文本框没有焦点,在Chrome中框中确实有焦点..是否有任何解决方法?

1 个答案:

答案 0 :(得分:8)

我没有IE8方便,但试试这个:我启动了我的Windows VM,这有效:http://www.jsfiddle.net/n25HE/我所做的只是打包focus在函数中,在事件处理程序完成后10ms调用它,如下所示:

setTimeout(function() {
    $('#txtValuation').focus();
}, 10);

这使IE有时间实际呈现内容并为文本输入创建OS控件。在基础控制存在之前,IE无法关注事物。