【问题标题】:Destroy Bootstrap Modal销毁引导模式
【发布时间】:2016-07-09 17:06:26
【问题描述】:

我想在关闭/隐藏时销毁引导模式,并在每次重新打开时打开新内容。我试图在 .net 中实现这一点。请在将其标记为重复之前阅读。

在我的母版页中, 模态标记为

<div id="modal" class="modal fade">
        <div class="modal-dialog" role="dialog">
            <div class="modal-content" data-backdrop="static">
                <div id="modalContent">
                </div>
            </div>
        </div>
    </div>

打开模态的代码

 $("a[data-modal]").on("click", function (ev) {
                BlockPage("Loading Dialog");
                $("#modalContent").load(this.href, function () {
                    $("#modal").modal({
                        cache:false,
                        backdrop: 'static',
                        keyboard: false
                    }, "show");
                });
                ev.preventDefault();
                return false;
            });        

在我的 aspx 页面中,我有以下代码来打开模式,如下所示。

<a runat="server" id="lnkAssignInformed" data-modal="" class="btn btn-info hidden-print assignInformed">Assign Informed</a>&nbsp;

对于显示和隐藏的事件,我有以下代码。对于隐藏事件,为了破坏模态,我遵循了这篇文章中的答案。 Stackoverflow Post

  $("#modal").on('show.bs.modal', function (e) {
                $(this).find('.modal-body').css({
                    width: 'auto',
                    height: 'auto',
                    'max-height':'100%'
                });               
            });

            $('body').on('hidden.bs.modal', '#modal', function () {                                
                $('#modal').removeData('bs.modal');
            });

问题是即使尝试在隐藏事件中销毁模态,当我重新打开模态时,我仍然会看到第一次打开时显示的模态数据。

我也尝试了以下代码,但没有发现任何区别。

 $("#modal").on('hide.bs.modal', function () {
                $('#modal').data('bs.modal', null);
            });

我目前正在 IE-11 中尝试这个。没有在其他浏览器中测试过。

有什么方法可以在每次单击锚标记时触发负载?任何帮助,将不胜感激。

【问题讨论】:

    标签: jquery twitter-bootstrap-3 bootstrap-modal


    【解决方案1】:

    我能够自己解决它。问题在于 Jquery.load() 缓存结果。我能够使用以下代码销毁缓存。在此之后,对话框每次都会显示新内容。

     $("a[data-modal]").on("click", function (ev) {
                BlockPage("Loading Dialog");
                $("#modalContent").load(this.href,'f' + (Math.random()*1000000), function () {
                    $("#modal").modal({
                        cache:false,
                        backdrop: 'static',
                        keyboard: false
                    }, "show");
                });
                ev.preventDefault();
                return false;
            });          
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多