最初关注Chrome

问题描述

我已经看到了许多与焦点相关的帖子,但尚未找到解决方案。任何帮助表示赞赏。

场景 我有一个带有用户名密码输入控件的ASP.NET网页。我预加载了从AD输入的用户名,并希望将初始焦点设置为密码字段。这项功能在IE中效果很好,但是无论我用Chrome尝试过什么,当页面最初加载时,它都不会将焦点设置在密码字段上。最初的焦点始终在Chrome地址栏中。如果按Enter键回发页面,则将焦点集中在密码输入上即可。

我到目前为止所做的事情 在document.ready事件中,我以500ms的延迟调用setInterval函数调用函数获取密码输入的引用并调用focus。我一直将延迟更改为1000ms,但是仍然没有重点。

我还尝试将密码输入中的tabindex设置为0或1。

这就像Chrome中有一些内部功能要等到页面中的所有内容都完成后,再将焦点设置到地址栏上一样。

解决方法

如果您使用的是HTML5,则可以尝试自动对焦

<input type="password" id="pswdId" autofocus>

,

我发现在加载中(后面的代码),您可以像这样设置焦点:

    Me.TextBox2.Focus()

当然,该控件将需要一个“ id”和runat =“ server”