将选项卡焦点保持在jQuery对话框中

时间:2013-05-14 23:20:47

标签: javascript jquery jquery-ui

我目前正在学习jQuery对话框,并希望在我的副项目中使用它。我想将Tabindex添加到对话框中的divs以进行Tab键。但是,当我选中对话框中的最后一个元素时,重点转移到其他地方。

当我选中最后一个元素时,我希望焦点回到第一个元素。有没有办法将焦点保持在对话框中?

谢谢!

3 个答案:

答案 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