在init之后更改SimpleModal选项

时间:2015-01-15 19:07:00

标签: javascript simplemodal

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

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

2 个答案:

答案 0 :(得分:2)

是的,但您必须更改该选项,然后重新绑定事件处理程序以查看选项更改。我把它砍成了基本的"来自文档站点的演示:

$('#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"以及#34; overclose",进入模态本身,以显示状态以及何时发生变化。

答案 1 :(得分:0)

我必须使用:

来引用模态对象
$.modal.impl.o.escClose = false;
$.modal.impl.unbindEvents();
$.modal.impl.bindEvents();

jQuery选择器引用该对象并没有为我做(o未定义)。