我目前正在学习jQuery对话框,并希望在我的副项目中使用它。我想将Tabindex添加到对话框中的divs以进行Tab键。但是,当我选中对话框中的最后一个元素时,重点转移到其他地方。
当我选中最后一个元素时,我希望焦点回到第一个元素。有没有办法将焦点保持在对话框中?
谢谢!
答案 0 :(得分:6)
在最后一个元素上添加一个按键事件,以忽略默认的标签操作,并将焦点放回对话框中的第一个元素。
以下示例假设最后一个元素为last_element_id
,第一个元素为first_element_id
。
$('#last_element_id').on('keydown', function(e) {
if ((e.keyCode || e.which) == 9) {
$('#first_element_id').focus();
e.preventDefault();
}
});
答案 1 :(得分:0)
禁用要跳过的任何元素的标签,如下所示:
$("#element").attr("tabIndex", -1);
答案 2 :(得分:0)
任何负片标签索引都应该停止元素聚焦,这样只需取消现有值,然后在将元素放回Tab键顺序时删除减号。
例如将标签索引从10更改为-10然后再更改为10