我目前正在学习 jQuery 对话框,并希望在我的副项目中使用它。我想将 tabindex 添加到对话框中的 div 以进行制表符。但是当我点击对话框中的最后一个元素时,焦点会转移到其他地方。
当我点击最后一个元素时,我希望焦点回到第一个元素。有没有办法让焦点保持在对话框中?
谢谢!
我目前正在学习 jQuery 对话框,并希望在我的副项目中使用它。我想将 tabindex 添加到对话框中的 div 以进行制表符。但是当我点击对话框中的最后一个元素时,焦点会转移到其他地方。
当我点击最后一个元素时,我希望焦点回到第一个元素。有没有办法让焦点保持在对话框中?
谢谢!
在最后一个元素上添加一个按键事件以忽略默认选项卡操作并将焦点放回对话框中的第一个元素上。
下面的示例假定最后一个元素是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();
}
});
禁用您想要跳过的任何元素的选项卡,如下所示:
$("#element").attr("tabIndex", -1);
任何负制表符索引都应阻止元素被聚焦,因此只需否定现有值,然后在将元素放回制表符顺序时删除减号。
例如,将选项卡索引从 10 更改为 -10,然后再改回 10