在html4中自定义键盘选项卡顺序
Custom keyboard tab order in html4
我想管理键盘选项卡的顺序功能,我使用一个模板的页眉,页脚和侧边栏,其中许多锚元素&输入元素存在。在模板内容中,我们不能放置和tabindex
属性,这不是我的控制。
模板的中间部分是我的工作区,在那里我创建了一个表单和一些元素
<fieldset id="myWorkArea">
<div class="fieldrow">
<label for="input1">Class</label>
<input id="input1"/>
<a id="help1" href="#">what's this?</a>
</div>
<div class="fieldrow">
<label for="input2">Class</label>
<input id="input2"/>
<a id="help2" href="#">what's this?</a>
</div>
</fieldset>
在上面的代码中,我希望光标按id的顺序移动。
#help1 > #input1
#help2 > #input2
是否有任何方法来控制键盘的制表顺序,只有#myWorkArea
字段集元素,因为我们不能把制表索引页面中的所有元素?
即使您无法访问模板,您仍然可以通过编程方式添加tabindex属性。
这里有一个片段:
var tabindex = 1;
$('#myWorkArea .fieldrow').each( function() {
$('a', this).attr('tabindex', tabindex++);
$('input', this).attr('tabindex', tabindex++);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<fieldset id="myWorkArea">
<div class="fieldrow">
<label for="input1">Class</label>
<input id="input1"/>
<a id="help1" href="#">what's this?</a>
</div>
<div class="fieldrow">
<label for="input2">Class</label>
<input id="input2"/>
<a id="help2" href="#">what's this?</a>
</div>
</fieldset>
希望有帮助!
你可以像David在他的回答中提到的那样使用javascript以编程方式添加标签索引。
或者如果你愿意,你可以通过将自己的事件绑定到这些元素来控制选项卡功能,就像下面的代码一样。
小提琴
$(function(){
var inputs = $('a#help1, a#help2,input#input1, input#input2');
$(inputs).bind('keydown', function (e) {
var self = $(this), form = self.parents('form:eq(0)'), focusable, next;
//check keycode for tabbing
if (e.keyCode == 9) {
switch($(this).attr("id")){
case "help1":
next=$('#input1');
break;
case "help2":
next=$('#input2');
break;
case "input1":
next=$('#help2');
break;
case "input2":
next=$('#help1');
break;
}
next.focus();
e.preventDefault();
return false;
}
});
});
相关文章:
- 按照选项卡索引的顺序循环一个jQuery选择
- 如何按字母顺序对select2(jQuery插件)选项进行排序
- 测试选项卡导航顺序
- 如何选择多选的所有选项,顺序不应变化
- Javascript测试-使用Array.prototype以随机顺序显示选项
- 按字母顺序排列 AngularJS 中对象保留键/值关联的选项
- 在JS选择列表中按字母顺序对选项进行排序
- 选项卡索引顺序无效
- 在函数排序列表中添加:选项排序列表中的初始顺序
- 使用jQuery更改“选择选项”无法正常工作的顺序
- 根据文本更改下拉列表中选项的顺序
- 如何在具有optgroup'的页面上按字母顺序对所有选择框进行排序;s,而不将选项从各自的组中移出
- 如何使默认<选项>在Javascript中,同时按顺序排序
- 如何禁用输入顺序和选择中的选项
- 如何合并电子表格并在新文档中设置其选项卡顺序
- 如何确保通过ajax加载的表上的逻辑选项卡顺序?
- 在html4中自定义键盘选项卡顺序
- 如何按词法顺序对选择选项排序
- 使用javascript/jQuery在选择列表中排序选项.但不是按字母顺序排列的
- 如何重新订购<选项>在jquery选择的下拉列表中按字母顺序排列