为啥点击模态框的时候为自动生成两个div元素modal-backdrop
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥点击模态框的时候为自动生成两个div元素modal-backdrop相关的知识,希望对你有一定的参考价值。
参考技术A modal默认隐藏需要采用aria-hidden='true'设定。其实modal已经执行了并且打开了,但是由于你添加hide类,所以整个modal就被隐藏了。另外你的整个modal框架缺少div.modal-dialog和div.modal-content两个元素包裹,否则样式比较难看的。本回答被提问者采纳 参考技术B 我也遇到了类似的情况;原因是:有页面嵌套,并且外层和嵌套页都引入了bootstrap.js;
参考解决方案:移除嵌套页的js引入,只保留最外层的。
Bootstrap|模态框
1. 效果:从一个主页面中,点击某个按钮,弹出另外一个小页面,称为模态框
2. 主页面,两个元素:事件按钮,加载模态框的div
<button type="button" id="open_modal" class="btn btn-primary dropdown-toggle" data-toggle="dropdown" data-original-title="" title="">
打开模态框</button>
<div id="open_modal_div"></div>
3. 模态框页面
<div id="show_modal" class="modal fade" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title">Modal title</h4>
</div>
<div class="modal-body">
<p>One fine body…</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
4. js
//打开模态框
$("#open_modal").unbind("click").click(function ()
$("#open_modal_div").load("modal.html",function ()
$("#show_modal").modal("show");
);
);
//监听打开模态框时进行的操作
$('#show_modal').on('shown.bs.modal', function ()
$('#myInput').focus()
)
//监听关闭模态框时进行的操作
$("#show_modal").on("hidden.bs.modal",function ()
$("#open_modal_div").empty();
)
以上是关于为啥点击模态框的时候为自动生成两个div元素modal-backdrop的主要内容,如果未能解决你的问题,请参考以下文章