我的bootstrap应用程序中有模态。模态从dataremote源获取其内容。在这个模态中,我定义了一些javascript函数。
我的问题是,当我关闭模态并再次打开它时,javascript代码可用两次。这意味着点击事件将多次执行。
是否有可能清除hide上的模态javascript代码?
我也用
$('body').on('hidden', '.modal', function () {
$(this).removeData('modal');
});
以防止再次显示相同的内容
答案 0 :(得分:1)
以下是一个例子:
标记:
<button type="button" id="test">Launch modal</button>
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog"></div>
</div>
脚本:
$('#test').click(function() {
$("#myModal").modal({
remote : 'your-remote-href'
});
});
//target this event, see http://getbootstrap.com/javascript/#modals -> events
$('#myModal').on('hidden.bs.modal', function () {
$(this).empty(); //<---- empty() to clear the modal
})
我假设您没有使用href
- 属性
<button type="button" data-toggle="modal" href="some href" data-target="#myModal">Launch modal</button>
这样做的模态内容只加载一次。并且清空模态将是永久性的。
答案 1 :(得分:1)
这篇文章帮助我:Twitter bootstrap remote modal shows same content everytime
如果您使用的是BS 3.0,请注意接受答案下方的响应,因为语法已更新。