我认为这是Bootstrap本身的一个错误,因为即使在演示页面上我也遇到了这个问题。如果你打开模态窗口,内置的关闭按钮第一次工作,但是如果你关闭模态并重新打开它,关闭(和X)按钮不会关闭模态,所以你必须点击外面关闭它的盒子。您可以在Bootstrap演示页面上看到这一点:
http://getbootstrap.com/javascript/#modals
(向下滚动到“现场演示”并点击“启动演示模式”。关闭模态窗口一次,重新打开它,“关闭”按钮将不再有效,直到刷新页面。)
有没有人找到解决方案,以便每次打开模态时关闭按钮都能正常工作?
答案 0 :(得分:3)
bootstrap中的这个错误似乎是一个热门话题: https://github.com/twbs/bootstrap/issues/9362
我将更新我的引导程序,看看是否这样做......
答案 1 :(得分:1)
如果你喜欢我,我宁愿不修改bootstrap文件,你也可以这样做。
jQuery('[data-dismiss="modal"]').on('click', function(){
jQuery('.modal').hide();
jQuery('.modal-backdrop').hide();
});
在.modal('show')之后添加;调用
答案 2 :(得分:1)
这对我来说仍然是一个问题Bootstrap 3.正在发生,因为我正在动态填充目标模态。认为这对任何试图做类似事情的人都有帮助!
我必须:
隐藏modal;
清空dynamic content;
并移除.modal-backdrop
$(document).on('click', '#modal .closeModal', function(){
$('#modal').modal('hide'); // hide the modal
$('#modal-dynamic-content').empty(); // empties dynamic content
$('.modal-backdrop').remove(); // removes all modal-backdrops
});
注意:这会清空您的模态,因此只有在您触发加载到所述模态中时才使用空
答案 3 :(得分:0)
在bootstrap.min.js中删除.off(' click.dismiss.modal')为我做了诀窍。如果您使用CDN,则需要下载它并相应地更改参考。