在初始化后更改 SimpleModal 选项

Changing SimpleModal options after init

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

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

是的,但您必须更改选项,然后重新绑定事件处理程序以查看选项更改。我从文档站点将其黑入 "basic" 演示:

$('#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 秒后,该选项将按您预期的方式启动。我还入侵了一个指示器,一个 id 为 "overclose" 的跨度,进入模态本身以向您显示状态及其更改时间。

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

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

我没有通过 jQuery 选择器引用对象(o 未定义)。