bootstrap中为什么要给modal添加tabindex=-1才能通过tab键在modal中切换焦点

发布于 2022-09-02 13:33:03 字数 1804 浏览 14 评论 0

<!DOCTYPE html>
<html>
<head>
   <title>Bootstrap 实例 - 模态框(Modal)插件</title>
   <link href="/bootstrap/css/bootstrap.min.css" rel="stylesheet">
   <script src="/scripts/jquery.min.js"></script>
   <script src="/bootstrap/js/bootstrap.min.js"></script>
</head>
<body>

<h2>创建模态框(Modal)</h2>
<!-- 按钮触发模态框 -->
<button class="btn btn-primary btn-lg" data-toggle="modal" 
   data-target="#myModal">
   开始演示模态框
</button>

<!-- 模态框(Modal) -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" 
   aria-labelledby="myModalLabel" aria-hidden="true">
   <div class="modal-dialog">
      <div class="modal-content">
         <div class="modal-header">
            <button type="button" class="close" 
               data-dismiss="modal" aria-hidden="true">
                  &times;
            </button>
            <h4 class="modal-title" id="myModalLabel">
               模态框(Modal)标题
            </h4>
         </div>
         <div class="modal-body">
            在这里添加一些文本
         </div>
         <div class="modal-footer">
            <button type="button" class="btn btn-default" 
               data-dismiss="modal">关闭
                </button>
                <button type="button" class="btn btn-primary">
                   提交更改
                </button>
             </div>
          </div><!-- /.modal-content -->
        </div><!-- /.modal -->
    </div>
</body>
</html>

上面是从菜鸟教程拷贝的代码,如果模态框(modal)不设置tabindex="-1",可以通过tab键切换除模态框外的其他元素的焦点,模态框设置了tabindex='-1',tab键只能切换模态框内的元素的焦点。希望有大神能解释下其中的原理,先行感谢!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

转身以后 2022-09-09 13:33:03

很明显,tabindex的作用就是控制tab切换的顺序按照它的值来切换!

tabindex 属性规定元素的 tab 键控制次序(当 tab 键用于导航时)。

而且最小的tabindex=1;也就是从1开始,那么如果设置为-1,就表示modal框脱离了全局html的tab切换页面,独立出来,最终形成你要的结果!
详细说明看这个:TabIndex 属性 Tabindex="-1" 与Tabindex="0"、任意数字 的说明

再浓的妆也掩不了殇 2022-09-09 13:33:03

modal中的tab-index=-1其实有点问题。比如在和ckeditor配合使用时,会导致图片描述

红框不能选中,不能输入内容。所以将 这个modal 中的tab-index = -1 属性删除之后,就可以正常选中了。

之前使用 配合 select2 使用的时候,也会碰到这种问题,同样的解决方法

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文