javascript - Alertify 和 bootstrap 4 模式之间的 tabindex 冲突
问题描述
我在运行 Bootstrap 4 模态时调用了 Alertify Confirmation 对话框,问题是选项卡焦点在第一个不工作,而在最后一个。
我相信这与基于 Bootstrap 4 标准添加到模态类 Div 中的“tabindex = -1”有关,所以我尝试了多个概念来解决问题,但仍然无法正常工作......
我认为可行的概念之一是在 Alertify onshow 和 onclose 事件期间从“modal”类 div 元素切换“tabindex=-1”,但仍然无法正常工作!
let mymessage = "Update entry?";
alertify.confirm().set({title: "Confirm!"})
.set({labels: {ok:"Yes", cancel:"No"}})
.set("defaultFocus", "ok");
.set({onshow:function(){$(".modal").attr("tabindex","-2");}})
.set({onclose:function(){$(".modal").attr("tabindex","-1");}});
// Show confirmation message
alertify.confirm(mymessage, function(e){
if(e){
editRow();
} else {
alertify.notify("Entry update has been canceled!");
}
}).bringToFront();
看看标签序列仍然在模态 Div 中,而它在 Alertify Confirmation 对话框中丢失!
我将不胜感激任何支持!
解决方案
下面的代码解决了这个问题:
let mymessage = "Update entry?";
// custom OK and Cancel label to Yes and No
alertify.confirm().set({title: "Confirm!"})
.set({labels: {ok:"Yes", cancel:"No"}})
.set("defaultFocus", "ok")
.set({onshow:function(){$(".modal").removeAttr("tabindex");}})
.set({onclose:function(){$(".modal").attr("tabindex","-1");
}});
// Show confirmation message
alertify.confirm(mymessage, function(e){
if(e){
editRow();
} else {
alertify.notify("Editing entry has been canceled!");
}
});
推荐阅读
- html - 在 CSS 中,访问的链接不会改变颜色
- ffmpeg - 将 AVPackets 复用到 mp4 文件中 - 重新审视
- stm32 - STM32半回调未调用
- python-3.x - 大量的 sympy lamdify 问题
- c# - 在单击一行数据网格中的按钮时,隐藏另一行上的按钮
- node.js - 我怎么知道猫鼬文档匹配过滤器
- c# - 在渲染页面之前添加叠加层
- c# - AddAdoptionDetails' 不是类型过滤操作的有效元数据类型。类型过滤仅对实体类型和复杂类型有效
- .htaccess - Nuxt JS 服务器部署 - 如何使用 htaccess 将 URL 重定向到 localhost:3000
- javascript - Retrive complex data with jquery from dropdown object in ASP.NET MVC