加载网页时,自动聚焦 HTML 表单输入的最佳方式是什么?

发布于 2024-12-19 13:19:31 字数 61 浏览 1 评论 0原文

现在我使用:

但它似乎不适用于 iPhone。

Right now I use:

<body onLoad="document.getElementById('myinput').focus();">

but it doesn't seem to work on iPhone.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

傲鸠 2024-12-26 13:19:31

自动对焦在 iPhone 上永远无法使用。苹果认为这不符合用户的利益,所以就是这样。

最好的方法是在相关输入上添加 autofocus=""。如果你想支持旧版浏览器,最好将你给出的 JS 放在页面末尾,而不是放在 onload 中。如果页面包含一些需要一些时间才能加载的图像,则加载将不会直接触发,并且用户可能已经选择了另一个输入并开始键入,导致一旦加载触发,文本就会出现在错误的文本框中,从而使用户感到沮丧。

因此,只需将 放在 之前

Autofocus will never work on iPhone. Apple decided it is not in the interest of the user, so that is that.

The best way is to add autofocus="" on the input in question. If you want to support older browsers to it is best to put the JS you've given at the end of the page instead of putting it in onload. If the page contains some images that take some time to load the onload will not fire directly and the user could already have selected another input and started typing, resulting in the text appearing in the wrong textbox once the onload fires, frustrating users.

So just put <script>document.getElementById('myinput').focus();</script> just before </body>

梅倚清风 2024-12-26 13:19:31

以下代码对我有用

 <input type="text" name="email" placeholder="E-Mail ID" autofocus></input>

The following code works for me

 <input type="text" name="email" placeholder="E-Mail ID" autofocus></input>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文