tabIndex 的用处很简单,就是利用tab键遍历页面的表单元素和链接,按照tabindex的大小决定顺序。虽然微不足道,但细节处见真功夫,这是任何一个WEB应用应当具备的亲用力,保证用户在没有鼠标的情况下(如WAP)仍然可以正常使用。
tabindex属性可以设置键盘中的Tab键在控件中的移动顺序,即焦点的顺序。
把控件的tabindex属性设置成1到32767的一个值,就可以把这个控件加入到Tab键的序列中。
这样,当浏览器使用tab键在控件中移动时,将首先移动到具有最小tabindex属性值的控件上,最后在具有最大tabindex属性值的控件上结束移动。
如果有两个控件的tabIndex属性相同,则以控件在代码中出现的顺序为准。
默认的tabIndex属性为0,将排列在在所有tabIndex的控件之后。
而若把tabIndex属性设为一个负值(如tabIndex=“-1”),那么这个链接将被排除在Tab键的序列之外。
tabIndex的值可为0到32767之间的数字。
下面的例子,为了突现tabIndex控制焦点跳转的能力,特意把顺序打乱了。请先选中第一个文本域,然后按tab键观察。
<!doctype html>
<html dir="ltr" lang="zh-CN">
<head>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=7">
<title>tabIndex By 司徒正美</title>
<script>
window.onload = function(){
var els = document.getElementsByTagName("input");
for(var i=0,n=els.length;i<n;i++){
els[i].onfocus = function(){
this.style.cssText='background:#69C;border-color:#6cc;';
};
els[i].onblur = function(){
this.style.cssText='background:#fff;border-color:#000;';
};
}
}
</script>
</head>
<body>
<form name="nasami">
<input tabindex="1" value="第一个" type="text" ><br />
<input tabindex="3" value="第三个" type="text" ><br />
<input tabindex="5" value="第五个" type="text" ><br />
<input tabindex="6" value="第六个" type="text" ><br />
<input tabindex="4" value="第四个" type="text" ><br />
<input tabindex="2" value="第二个" type="text" >
</form>
</body>
</html>