Bootstrap 3模态在首次打开后不会关闭

时间:2013-08-16 17:56:24

标签: twitter-bootstrap

我认为这是Bootstrap本身的一个错误,因为即使在演示页面上我也遇到了这个问题。如果你打开模态窗口,内置的关闭按钮第一次工作,但是如果你关闭模态并重新打开它,关闭(和X)按钮不会关闭模态,所以你必须点击外面关闭它的盒子。您可以在Bootstrap演示页面上看到这一点:

http://getbootstrap.com/javascript/#modals

(向下滚动到“现场演示”并点击“启动演示模式”。关闭模态窗口一次,重新打开它,“关闭”按钮将不再有效,直到刷新页面。)

有没有人找到解决方案,以便每次打开模态时关闭按钮都能正常工作?

4 个答案:

答案 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,则需要下载它并相应地更改参考。