Twitter bootstrap 引导模式不作为模式

Twitter bootstrap 引导模式不作为模式,twitter-bootstrap,modal-dialog,Twitter Bootstrap,Modal Dialog,这里有一个非常简单的页面: <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta http-equiv="X-UA-Compatible" content="IE=edge"&

这里有一个非常简单的页面:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title></title>
    <link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css"
          rel="stylesheet">
    <script src="//code.jquery.com/jquery-2.1.1.min.js"></script>
    <script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
</head>
<body>
    <input type="text" value="foo"/>
    <button type="button" class="btn btn-default"
            data-toggle="modal" data-target="#dlg">open</button>
    <div id="dlg" class="modal fade">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-body">
                    <input type="text"/>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-primary"
                            data-dismiss="modal">OK</button>
                </div>
            </div>
        </div>
    </div>
</body>
</html>

打开
好啊
我希望该对话框真正表现为模态,也就是说,在打开时不允许对第一个输入字段进行tab。此外,对话框内的输入字段应集中在open上


这种情况不会发生。焦点在打开的其他地方(可能是打开按钮),我可以在所有控件上进行制表。

当显示模式时,引导默认聚焦整个模式(出于可访问性原因),而不是其中的任何内容,因为不是每个人都希望模式中的内容自动聚焦。有些人使用“modals”来表示严格意义上不是对话的内容(例如,显示地图或视频)。
但是看到了吗

当模态显示时,您可以通过使用一些JS来侦听,然后在事件处理程序函数中执行聚焦,从而聚焦模态中的内容。例如:

$('#your-modal').on('shown.bs.modal', function () {
  $('#your-input').focus();
});

我真的不知道该怎么回答你问题中的“不要让用户标签上的内容超出模式”部分。jQueryUI使用的方法似乎不太优雅,但它是一个选项:

这就像将
tabindex=“-1”
添加到我的对话框一样简单