在Safari中发出警报后,将焦点设置为文本框

时间:2010-05-26 13:07:02

标签: javascript safari

我正在尝试在显示消息后将焦点返回到文本框。如下代码:

<input type="text" id="text1" />
<input type="submit" id="submit1" onclick="alert('test');document.getElementById('text1').focus();return false;" />

它在Safari中不起作用。我有适用于Windows的4.0.5版本。

1 个答案:

答案 0 :(得分:0)

这对我来说也不起作用,我怀疑它与Safari不愿意在失去它后声称整个窗口焦点有关。然而,这只是一个理论,因为我对Safari内部知识一无所知,但我很确定它根本不支持window.focus()。因此我的想法是,浏览器窗口认为它不是聚焦窗口,因此它忽略了任何关注任何的尝试。

我已经在这个测试页面上证实了这个理论:http://gutfullofbeer.net/safari_focus.html

如果单击“单击我”按钮,然后关闭警报弹出窗口,然后立即单击浏览器窗口(而不是文本框)的任何位置,几秒钟后文本框获得焦点。