浏览 5345 次
锁定老帖子 主题:tabindex的微妙使用
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-12-07
最后修改:2010-12-07
大家可能会注意到input,select,textArea等文本框都会有一个属性tabindex,但是都没有用过这个tabindex吧、 目前项目中遇到打开个子窗口时候,不想让子页面的光标定位到默认的文本框中,该怎么办呢? <input type='text' name = 'name1'/> <select name = 'name2'><option value='1'></option></select> <textArea name="name3" cols='2' rows='2'></textArea> 默认页面光标定位到type="text"中,如果我想让光标定位到select文本框上,目前有两个方法:
1、一般有人都会在该页面的最后部分加上一个JavaScript、 <script langage="text/javascript"> document.form.name2.focus(); </script> 但是这种方法偶尔会js报错:"由于该控件目前不可见、未启用或其类型不允许,因此无法将焦点移向"等等、经测试,发现只要这个页面打开的速度慢的时候就会报错。 2、接下来的方法就要使用本文所说的tabindex了、 <input type='text' name = 'name1' tabindex='3'/> 如果想让光标定位到哪个文本框,则把该文本框的tabindex设置为1,即1的优先级最高,依次排序即可、
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-12-08
<script langage="text/javascript">
这个写法不好,现在都用<script type="text/javascript">; document.form.name2.focus(); 这个写法也不好,兼容性有问题,最好用document.getElementById。 tabindex,俺基本不用,特别是表单项特别多的时候,就显得很麻烦。 如果真要用js定位到某个位置,可以将方法挂在window.onload下,就不会有那种报错。 当然是个人意见,仅供参考。 |
|
返回顶楼 | |
发表时间:2010-12-08
xyztony1985 写道 <script langage="text/javascript">
这个写法不好,现在都用<script type="text/javascript">; document.form.name2.focus(); 这个写法也不好,兼容性有问题,最好用document.getElementById。 tabindex,俺基本不用,特别是表单项特别多的时候,就显得很麻烦。 如果真要用js定位到某个位置,可以将方法挂在window.onload下,就不会有那种报错。 当然是个人意见,仅供参考。 呵呵,谢谢!放在window.onload下,当时第一想到的就是它,但是测试发现不起作用,当时很郁闷,刚又测试了一下可以了,应该是浏览器的缓存吧、 这样虽说可以,但是还需要执行一个JavaScript,比起来tabindex还是麻烦了点。(表单项多的时候只要定位一两个tabindex就可以了啊) |
|
返回顶楼 | |
发表时间:2010-12-13
xyztony1985 写道 <script langage="text/javascript">
这个写法不好,现在都用<script type="text/javascript">; 在HTML5里面更简单,直接用 <script></script> 。 |
|
返回顶楼 | |
发表时间:2010-12-13
刚测试了一把,<script></script>在ie 8,ff3.6下面 可以直接支持。
|
|
返回顶楼 | |
发表时间:2010-12-14
<script></script>
long long ago就没问题,可以试试IE6 |
|
返回顶楼 | |
发表时间:2010-12-14
riemann 写道 <script></script>
long long ago就没问题,可以试试IE6 IE6也畅通无阻的、 |
|
返回顶楼 | |