Bootstrap模态关闭问题

时间:2016-08-23 00:03:27

标签: javascript angularjs twitter-bootstrap bootstrap-modal ngroute

我正在努力解决我的modal中的错误。我使用的是BootstrapAngularng-Route。我最近注意到mobile(然后在桌面上)当我按下modal打开后退按钮时,它会留下灰色叠加层而你不能click。所以我发现部分修复问题的解决方案是添加这个脚本:

$(".modal").on("shown.bs.modal", function()  { // any time a modal is shown
      var urlReplace = "#/" + $(this).attr('id'); // make the hash the id of the modal shown
      history.pushState(null, null, urlReplace); // push state that hash into the url
    });

    // If a pushstate has previously happened and the back button is clicked, hide any modals.
    $(window).on('popstate', function() {
      $(".modal").modal('hide');
    });

这比用户presses back button效果更好但是当用户通过点击模态外部或点击转义关闭modal时,urlReplace仍保留在browser中{1}}地址栏。 我希望在modal关闭时将其更改回上一页。

如果无法解决该问题,我至少希望修复此其他问题:当用户通过点击外部或点击转义关闭modal时,urlReplace仍然在{ {1}}地址很好,但当用户转到browser click我的nav bar链接时,它不会将其带到链接,而是转到{{1}的空白页面仍然在地址栏中,然后我可以再次urlReplace click中的nav bar链接,它将转到正确的链接,我觉得很奇怪,不知道如何解决此问题。

任何想法或见解都会很棒!

1 个答案:

答案 0 :(得分:0)

您可以添加一个处理程序来监视模态关闭事件,然后在删除哈希的情况下推送新历史记录:

> DF

        Date     Time  Subject A A A A B B B B
1 01/01/2016 12:00:00 Subject1 1 2 4 1 2 3 0 1
2 01/01/2016 12:00:00 Subject1 2 1 2 3 4 1 1 2
3 01/01/2016 12:00:00 Subject1 1 0 2 7 3 5 2 8
4 01/01/2016 12:00:00        2 8 2 0 1 2 3 2 0
5 01/01/2016 12:00:00        2 9 1 2 7 6 7 1 2
6 01/01/2016 12:00:00        2 1 6 2 7 3 3 2 4