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”
添加到我的对话框一样简单