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

Javascript 加载网页时,什么';自动聚焦HTML表单输入的最佳方式是什么?,javascript,autofocus,Javascript,Autofocus,现在我使用: 但它在iPhone上似乎不起作用。自动对焦在iPhone上永远不会起作用。苹果公司认为这不符合用户的利益,就是这样 最好的方法是在有问题的输入上添加autofocus=“”。如果你想支持旧的浏览器,最好把你给的JS放在页面的末尾,而不是放在onload中。如果页面包含一些需要一些时间才能加载的图像,则onload将不会直接启动,并且用户可能已经选择了其他输入并开始键入,导致onload启动后文本出现在错误的文本框中,这会让用户感到沮丧 所以只要把document.getEleme

现在我使用:


但它在iPhone上似乎不起作用。

自动对焦在iPhone上永远不会起作用。苹果公司认为这不符合用户的利益,就是这样

最好的方法是在有问题的输入上添加
autofocus=“
”。如果你想支持旧的浏览器,最好把你给的JS放在页面的末尾,而不是放在onload中。如果页面包含一些需要一些时间才能加载的图像,则onload将不会直接启动,并且用户可能已经选择了其他输入并开始键入,导致onload启动后文本出现在错误的文本框中,这会让用户感到沮丧


所以只要把
document.getElementById('myinput').focus()放进去
就在

之前,自动对焦将永远无法在iPhone上工作。苹果公司认为这不符合用户的利益,就是这样

最好的方法是在有问题的输入上添加
autofocus=“
”。如果你想支持旧的浏览器,最好把你给的JS放在页面的末尾,而不是放在onload中。如果页面包含一些需要一些时间才能加载的图像,则onload将不会直接启动,并且用户可能已经选择了其他输入并开始键入,导致onload启动后文本出现在错误的文本框中,这会让用户感到沮丧


所以只要把
document.getElementById('myinput').focus()放进去
就在

之前,下面的代码对我很有用

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

以下代码对我适用

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


如果“myinput”是页面上可聚焦元素的
id
,则应该可以使用。我不明白为什么移动Safari会有问题。然而,它确实可以在其他地方使用,但不能在iPhone上使用。建议是
focus
调用,而不是在调用发生时。奇怪。两年多前,这个问题一直没有令人满意的答案。这显然不是公认的WebKit bug,因为它在Chrome中运行良好,我无法想象非移动(桌面?;-)Safari也会有这个问题。如果“myinput”是页面上可聚焦元素的
id
,那么它应该会起作用。我不明白为什么移动Safari会有问题。然而,它确实可以在其他地方使用,但不能在iPhone上使用。建议是
focus
调用,而不是在调用发生时。奇怪。两年多前,这个问题一直没有令人满意的答案。这显然不是一个普遍的WebKit错误,正如人们所接受的答案所表明的那样,因为它在Chrome中运行良好,我无法想象非移动(桌面?;-)Safari也会有这个问题。很多有登录名的网站都使用自动聚焦。如果iPhone尊重这一点,用户将不得不关闭表单/键盘,并缩小他查看的每个页面。非常讨厌,真的。很多有登录名的网站都使用自动聚焦。如果iPhone尊重这一点,用户将不得不关闭表单/键盘,并缩小他查看的每个页面。非常讨厌。