如何进行现场自动对焦?

时间:2011-01-13 02:48:15

标签: javascript focus

我需要在用户打开页面时关注此字段。我不知道它是否会发生任何变化,但它是在我从PHP文件加载的模态窗口内。

有一种简单的方法吗?

4 个答案:

答案 0 :(得分:7)

使用JavaScript,您可以实现这一目标:

document.onload = function() {  
  document.getElementById("question-box-0").focus();
}

答案 1 :(得分:6)

JavaScript autofocusers(在此处的其他答案中给出)将起作用,但对某些用户来说可能会很烦人。例如,如果您在页面仍在加载时关注其他字段,JavaScript可能会通过移动焦点并让您键入错误的字段来“帮助”您。 ux.stackexchange.com上的This question列举了一些更多的缺点。

为了防止这种情况,HTML5为表单元素引入了autofocus attribute,这意味着浏览器本身将始终如一地执行该行为,并且可以为发现它令人恼火的用户关闭。当然,所有浏览器都不支持此功能。有关详细信息,请参阅Mark Pilgrim出色的autofocus fields一书中Dive Into HTML5部分。

答案 2 :(得分:2)

<html>
<head>
<script>
document.onload = function() {
 document.getElementById('question-box-0').focus();
};
</script>
</head>
<body>
...
</body>
</html>

答案 3 :(得分:0)

您可能已经知道这一点,但我刚刚在 JavaScript ES6 中了解到,您可以通过添加自动聚焦元素,可以是按钮、文本字段或窗口字段一个简单的方法focus(),这是一个例子document.getElementById("yourId").focus();

相关问题