带有引导程序弹出模式菜单的选项卡索引
Tab index with bootstrap pop up modal menu
我有一个html页面,如何以不同的方式为引导弹出模式和main指定选项卡索引。
如果弹出窗口是打开的,则表索引应仅适用于弹出模式。但当我点击弹出模式选项卡的最后一个元素时,将控制转移到主页面。
<a href="#">first element</a>
.
.
...
<a href="#" >last element in popup</a>
当我在最后一个a上按下tab时,它应该将焦点转移到第一个元素,而不是转移到主页面内容
在dom 中添加要选择的id
<a href="#" id="first">first element</a>
.
.
...
<a href="#" id="last" >last element in popup</a>
检查最后一个标签是否引发事件,然后将焦点设置为第一个元素
<script type="text/javascript">
document.getElementById('last').onkeydown = function(e){
if (e.keyCode == 9) {
document.getElementById('first').focus();
}
}
</script>
如果您的意思是,当您从最后一个元素按下tab时,模态关闭,那么尝试在模态参数中添加这些参数
(请确保您的模态包含一个关闭按钮,否则您将无法关闭模态,因为从"esc"按钮输入或在模态主体外点击时,模态将不会关闭。)
data-backdrop="static" data-keyboard="false"
但是如果你想通过点击模态关闭模态,那么只使用
data-keyboard="false"
尝试下面的
$('#myModal').keydown(function(e){
if($('#last').is(":focus") && (e.which || e.keyCode) == 9){
e.preventDefault();
$('#first').focus();
}
});
您可以执行以下操作:
private tabKey(event: KeyboardEvent) {
let parentModal = $(document).find('.modal');
//List of html elements which can be focused by tabbing.
let focusableElementsArrayString = 'a[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, [tabindex="0"]';
let focusableElementsInModal = parentModal.find(focusableElementsArrayString);
let numberOfElements = focusableElementsInModal.length;
let firstTabElement = focusableElementsInModal[0];
let lastTabElement = focusableElementsInModal[numberOfElements - 1];
// Check for Shift + Tab
if (event.keyCode === 9 && event.shiftKey) {
if (document.activeElement === firstTabElement) {
event.preventDefault();
lastTabElement.focus();
} // Check for Tab
} else if (event.keyCode === 9) {
if (document.activeElement === lastTabElement) {
event.preventDefault();
firstTabElement.focus();
}
}
}
相关文章:
- 按照选项卡索引的顺序循环一个jQuery选择
- 如何将ng选项的索引作为angularJs中的值传递给模型
- 我想将数组的索引附加到
中,其中选择选项是数组的索引 - 在 jquery 选项卡中查找 span 标记并返回该索引
- 嵌套在表单中的引导下拉菜单:输入时选项卡索引中断
- 如何使用原始选择选项的值更新引导选择的数据原始索引
- 两个不同部分的选项卡索引
- AngularJS ng选项获取索引
- 在网页上切换选项卡ui的最佳方式,z索引与显示
- 辅助功能键盘专用选项卡到z索引“;返回顶部”;
- 获取选择组中选择选项的索引
- 在 JQuery UI 选项卡中解析选定的面板索引时出错
- 使用 jQuery,查找所有选择并将索引值追加为选项
- 使用 Jquery 比较每个数组索引的输入文本数组控件和选择选项数组控件的值
- 在多选下拉jquery中获取最近选择的选项的索引
- 在 Firefox 中,当选择具有位置和 z 索引时,为什么更改事件不会在选项卡上触发
- 多个选定的索引查询(选择选项菜单)出现问题
- 如何根据选项文本获取选项索引
- 在Node.js/Express中获取选择标签选项索引
- 通过选项文本搜索选项索引