如何在iPhone Safari中的表单字段上自动对焦?

时间:2011-04-24 16:35:51

标签: javascript iphone html5 focus mobile-safari

我正在尝试让特定的表单字段在iPhone上的Safari浏览器中自动获得焦点。我认为这将是非常简单的,但我不能让这个工作。那么,这实际上是不可能的还是我错过了一些非常明显的东西(我怀疑)?这是我正在使用的代码:

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
   function formfocus() {
      document.getElementById('element').focus();
   }
   window.onload = formfocus;
</script>
</head>
<body>

<form>
<input/>
<input id="element" autofocus/>
<input/>
</form>

</body>
</html>

你可以看到我试图获得焦点两次,一次是通过js,一次是通过输入字段上的HTML“aufofocus”属性。这个伎俩也没有。这适用于桌面浏览器,但是当我在iPhone 4上打开页面时,没有骰子,也就是说,我必须通过单击其中一个表单字段来手动设置焦点。

最终我想要的是在移动浏览器上打开网站并专注于表单字段,包括打开键盘以开始输入。

感谢您的帮助!

3 个答案:

答案 0 :(得分:15)

根据this page,出于可用性原因,iphone / ipad不支持自动对焦。

答案 1 :(得分:0)

尝试为input元素指定一个

<input type="email" id="element" autofocus/>

对于后备,您可以使用

<script type="text/javascript">
    if (!("autofocus" in document.createElement("input"))) {
      document.getElementById("element").focus();
    }
</script>

答案 2 :(得分:-1)

尝试setTimeout()中的.focus()。

setTimeout(function() {
jQuery('#element').focus();
}, 500);

我希望,这将是所有人的工作。