是否有任何pure-html属性来指定应该在加载时关注哪个元素

时间:2009-09-28 00:29:28

标签: html focus

如果没有,是否有充分的理由?

4 个答案:

答案 0 :(得分:31)

这是HTML 5的一部分,因此在先前版本中缺少它可能更多的是疏忽或者存在降低优先级的其他选项的情况。

如果你很好奇,语法将是:

<input type="text" name="abc" value="" autofocus>

按照标准,它只能在页面上声明一次。

与此同时,对于国家的状态,你只能在onload事件中使用脚本来实现。最简单的方法是在页面上为默认元素指定一致的id(称之为'autofocus'),然后始终将其设置为:

var a_focus = document.getElementById('autofocus');
if(a_focus) a_focus.focus();

希望有所帮助。

答案 1 :(得分:6)

TABINDEX = 0不适合你吗?

编辑:

抱歉 - 赶紧回答我的问题。只有当用户点击“TAB”键时,TABINDEX = 0才有效。对于那个很抱歉。以下将正确设置焦点负载。测试了最新的IE,FF,Opera,Safari和&amp;铬。

<form>
     <input id="first" tabindex="1" /><br/>
     <input id="second" tabindex="2" />
   <script>
 document.getElementById("first").focus();
   </script>
</form>

答案 2 :(得分:4)

没有。除了每个人都习惯使用focus()之外,这并不是一个很好的理由。 (遗憾的是,如果整个页面没有加载并立即集中注意力,focus()会有缺点。)

我希望看到HTML中提供默认焦点和默认提交按钮指定,但浏览器用户似乎并不感兴趣。编辑:正如约翰所说,现在这个 位于HTML5 draft,虽然还没有实现,但HTML5还远未定稿。我们会看到!

答案 3 :(得分:1)

没有

可能没有充分的理由;事后看来一切都很明显。