【问题标题】:Initial focus in ChromeChrome 中的初始焦点
【发布时间】:2020-08-13 18:43:35
【问题描述】:

我看过很多与焦点相关的帖子,但还没有找到解决方案。任何帮助表示赞赏。

场景 我有一个带有用户名和密码输入控件的 ASP.NET 网页。我从 AD 预加载用户名输入,并希望将初始焦点设置为密码字段。这在 IE 中效果很好,但无论我用 Chrome 尝试过什么,当页面最初加载时,它都不会将焦点设置到密码字段。初始焦点始终位于 Chrome 地址栏中。如果我按回车键回发页面,则专注于密码输入正常工作。

到目前为止我做了什么 在 document.ready 事件中,我以 500 毫秒的延迟调用 setInterval 函数。调用的函数获取对密码输入的引用并调用焦点。我已将延迟一直更改为 1000 毫秒,但仍然没有焦点。

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

这就像 Chrome 中有一些内部函数会等到页面中的所有内容都完成,然后将焦点设置到地址栏。

【问题讨论】:

    标签: javascript asp.net google-chrome focus


    【解决方案1】:

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

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

    【讨论】:

    • 感谢两位的回复。不幸的是,我在发布此消息之前尝试了您的所有建议,但没有成功。这只是 Chrome 在初始加载页面时将焦点设置到地址栏的事情。我看过很多帖子询问如何在打开新标签时启用对地址栏的关注,而不是如何停止它。
    • 你能贴出你为密码写的那行代码吗?
    【解决方案2】:

    我发现在on-load(后面的代码)中,可以这样设置焦点:

        Me.TextBox2.Focus()
    

    当然控件需要一个“id”和runat="server"

    【讨论】:

      猜你喜欢
      • 2016-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-08
      相关资源
      最近更新 更多