如何在iPhone Safari中自动对焦表单字段?
How can you autofocus on a form field in iPhone 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上打开页面时,不行,也就是说,我必须通过单击其中一个表单字段来手动设置焦点。
最终我想要的是在手机浏览器上打开网站,把焦点放在表单字段上,包括打开键盘开始输入。
谢谢你的帮助!
根据本页说明,由于可用性原因,iphone/ipad不支持自动对焦
根据苹果公司的说法,iphone不支持自动对话。在WebKit的票证中有一条关于它的评论。该评论创建于2019年3月,声明如下:
源"我们(苹果)喜欢当前的行为,不希望程序化当[…]方案重点是未在响应用户手势时调用。"
尝试给输入元素一个类型
<input type="email" id="element" autofocus/>
对于回退,可以使用
<script type="text/javascript">
if (!("autofocus" in document.createElement("input"))) {
document.getElementById("element").focus();
}
</script>
试试setTimeout()里面的。focus()
setTimeout(function() {
jQuery('#element').focus();
}, 500);
我希望它对所有人都有效。
相关文章:
- 通过单击动态加载的表中同一行的另一个字段来更新一行的字段
- 添加和删除隐藏字段数组中的值,而不提交表单
- 单击鼠标,用MySQL数据填充html表单输入字段
- 带有条件字段的PHP表单
- 验证PDF表单中的字段
- HTML提交表单,同时包含空字段检查和按钮隐藏
- 在表单中的输入字段上提交事件
- 当所有输入文本字段都为空时,禁止表单提交,但当jquery中的任何字段不为空时允许提交
- 表单输入字段随着溢出的文本而增长
- 如何将onChange方法添加到ExtJS 4表单中的所有字段(textField)中
- 尝试使用名称访问表中字段的日期选取器时出现问题
- Javascript 表单 - 字段不是必需的
- 单击按钮时更改数据库表的字段值
- 数据表将字段值关联到按钮,而 ajax 填充表
- 返回数据表输入字段
- 更改附加表行字段jQuery的名称
- Angularjs表单/字段验证使用JavaScript函数,无需指令
- 仅在Firefox中,表脱离字段集边界
- 如何在表单提交后使用JQuery从附加到HTML表的字段中获取$_POST数组中的值
- 什么's提交表单后,从post数组中动态附加的表行字段中获取值的问题