【问题标题】:Changing SimpleModal options after init初始化后更改 SimpleModal 选项
【发布时间】:2015-01-15 19:07:00
【问题描述】:

如果我第一次使用 {overlayClose: false} 之类的选项调用 SimpleModal,以后如何将该选项更改为 {overlayClose: true}?

我希望在 AJAX 调用开始时打开 SimpleModal 以提供用户一些反馈,同时防止模态被关闭,然后在 AJAX 完成回调中,将模态设置为可关闭。

【问题讨论】:

    标签: javascript simplemodal


    【解决方案1】:

    是的,但是您必须更改选项,然后重新绑定事件处理程序以查看选项更改。我从文档站点将其破解为“基本”演示:

    $('#basic-modal .basic').click(function (e) {
        var modal = $('#basic-modal-content').modal();
        $('#overclose').text(modal.o.overlayClose ? 'true' : 'false');
    
        window.setTimeout(function() {
            // These three lines will do it:
            modal.o.overlayClose = true;
            modal.unbindEvents();
            modal.bindEvents();
            $('#overclose').text('true');
        }, 5000);
    
        return false;
    });
    

    5 秒后,选项按您的预期启动。我还在模态本身中添加了一个指示器,一个标识为“overclose”的跨度,以向您显示状态以及它何时发生变化。

    【讨论】:

    • 我需要使用$.modal.impl.o 来访问所需的功能,但它就像一个魅力!接受。
    • 这就是为什么我保留对模态的引用。
    【解决方案2】:

    我必须通过以下方式引用模态对象:

    $.modal.impl.o.escClose = false;
    $.modal.impl.unbindEvents();
    $.modal.impl.bindEvents();
    

    jQuery 选择器对对象的引用对我来说没有用(o 未定义)。

    【讨论】:

      猜你喜欢
      • 2019-01-24
      • 2012-07-12
      • 1970-01-01
      • 1970-01-01
      • 2022-12-15
      • 1970-01-01
      • 2012-12-29
      • 2021-03-24
      • 1970-01-01
      相关资源
      最近更新 更多