点评:一个简单的HTML功能是现在允许我们在页面加载完成后自动将输入焦点定位到需要的元素,通过一个叫做 autofocus的属性完成,感兴趣的朋友可以了解下
原文 : HTML5 autofocus Attribut 8SiHTML5中文学习网 - HTML5先行者学习网
原文发布时间: 2012年08月27日 8SiHTML5中文学习网 - HTML5先行者学习网
翻译时间: 2013年8月6日 8SiHTML5中文学习网 - HTML5先行者学习网
HTML5 推出了一大堆精彩的东西给我们。 8SiHTML5中文学习网 - HTML5先行者学习网
过去我们要用JavaScript和Flash完成的任务,比如表单验证,输入框空白提示(INPUT placeholders),客户端文件上传下载(client side file naming),以及 音频/视频播放,现在都可以用基本的HTML来完成了。另一个简单的HTML功能是现在允许我们在页面加载完成后自动将输入焦点定位到需要的元素,通过一个叫做 autofocus的属性完成。 8SiHTML5中文学习网 - HTML5先行者学习网
代码就如下面一样简单: 8SiHTML5中文学习网 - HTML5先行者学习网
8SiHTML5中文学习网 - HTML5先行者学习网
<!-- These all work! --> 8SiHTML5中文学习网 - HTML5先行者学习网
<input autofocus="autofocus" /> 8SiHTML5中文学习网 - HTML5先行者学习网
<button autofocus="autofocus">Hi!</button> 8SiHTML5中文学习网 - HTML5先行者学习网
<textarea autofocus="autofocus"></textarea> 8SiHTML5中文学习网 - HTML5先行者学习网
8SiHTML5中文学习网 - HTML5先行者学习网当 autofocus 属性设置以后,input,textarea,以及button 元素在页面加载(load)以后,会被自动选中(即获得焦点). 我尝试其他元素(比如h1 标签),
tabIndex=0的情况,但是autofocus属性在这些元素上根本没有效果。
8SiHTML5中文学习网 - HTML5先行者学习网这个属性在主要目的是获取用户输入的页面(pages whose main purpose is collecting information)是很有用的,比如google首页(99%的情况是用来搜索)或者在线安装向导(比如WordPress's installer).而且最关键在于——不需要JavaScript参与。
8SiHTML5中文学习网 - HTML5先行者学习网完整的页面代码如下:
8SiHTML5中文学习网 - HTML5先行者学习网 8SiHTML5中文学习网 - HTML5先行者学习网
<!DOCTYPE HTML> 8SiHTML5中文学习网 - HTML5先行者学习网
<html> 8SiHTML5中文学习网 - HTML5先行者学习网
<head> 8SiHTML5中文学习网 - HTML5先行者学习网
<title> HTML5 autofocus属性测试 </title> 8SiHTML5中文学习网 - HTML5先行者学习网
<meta name="Generator" content="EditPlus"> 8SiHTML5中文学习网 - HTML5先行者学习网
<meta name="Author" content="renfufei@qq.com"> 8SiHTML5中文学习网 - HTML5先行者学习网
<meta name="Description" content="original=http://davidwalsh.name/autofocus"> 8SiHTML5中文学习网 - HTML5先行者学习网
</head> 8SiHTML5中文学习网 - HTML5先行者学习网
<body> 8SiHTML5中文学习网 - HTML5先行者学习网
<!-- 原则上,以下三个元素,只能有一个设置autofocus 属性,如果多个元素都设置,应该是最后一个元素获取了焦点 --> 8SiHTML5中文学习网 - HTML5先行者学习网
<!-- 8SiHTML5中文学习网 - HTML5先行者学习网
--> 8SiHTML5中文学习网 - HTML5先行者学习网
<div> 8SiHTML5中文学习网 - HTML5先行者学习网
<input autofocus="autofocus" /> 8SiHTML5中文学习网 - HTML5先行者学习网
<button autofocus="autofocus">Hi!</button> 8SiHTML5中文学习网 - HTML5先行者学习网
<textarea autofocus="autofocus"></textarea> 8SiHTML5中文学习网 - HTML5先行者学习网
</div> 8SiHTML5中文学习网 - HTML5先行者学习网
</body> 8SiHTML5中文学习网 - HTML5先行者学习网
</html> 8SiHTML5中文学习网 - HTML5先行者学习网
8SiHTML5中文学习网 - HTML5先行者学习网8SiHTML5中文学习网 - HTML5先行者学习网