【发布时间】:2016-04-25 12:06:11
【问题描述】:
Bootstrap modals 允许你 pass options through Javascript 做一些事情,比如使用 backdrop: "static" 使你的 modal 不能关闭。
然而,一旦你初始化一个没有任何参数的模态$('#myModal').modal();,然后尝试用不同的参数再次调用它$('#myModal2').modal({backdrop:"static"});,模态仍然在没有参数的情况下初始化,在这种情况下它仍然是可关闭的,即使我使用backdrop: "static" 选项再次调用它。
有没有办法在 Bootstrap modal 被调用后重新初始化或更改其参数?
这是一个显示问题的 sn-p:
$('body').on('click','#static',function() {
$('#myModal').modal({backdrop:"static"});
});
$('body').on('click','#modal',function() {
$('#myModal').modal();
});
<link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.2.1/css/bootstrap.min.css" rel="stylesheet"/>
<script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.2.1/js/bootstrap.min.js"></script>
<a id="static" href="#myModal" role="button" class="btn" >Static Modal</a>
<a id="modal" href="#myModal" role="button" class="btn">Modal</a>
<div class="modal fade" id="myModal">
Foo
</div>
- 点击“Static Modal”,出现无法关闭的modal。
- 刷新
- 点击“Modal”,出现一个可以关闭的modal,关闭它
- 点击“静态模态”,现在出现一个模态,可以关闭,而不应该关闭
【问题讨论】:
-
我可以从第 3 步和第 4 步复制。
-
@TimLewis Yah 抱歉,我放了第 1 步(因此第 2 步)来说明如果有人不熟悉 Bootstrap,应该做什么,我想这很令人困惑.
-
啊,是的,这是有道理的。我现在正在研究更多。与使用相同的模态有关,我以前从未这样做过。
-
嘘...我什么都没得到。在过去的 40 分钟里一直在测试,结果一片空白。似乎在使用
.modal({ });进行第一次初始化后,您无法重新初始化它。我尝试在按钮和模态本身上应用不同的data-属性,但没有运气。我什至尝试“重置”模态(通过在模态初始化之前将其从 dom 中删除并用其自身的克隆替换它)并为此调用.modal({ }),但它仍然没有工作......我猜长话短说,使用不同的模态。 -
检查此引导:bootply.com/exnPaWii88。它不是最好的方法,但它会起作用。它工作正常,如果你愿意,我可以解释。
标签: javascript twitter-bootstrap bootstrap-modal