$.magnificPopup.open() 回调不起作用

$.magnificPopup.open() callbacks is not working

$.magnificPopup.open({
    items: {
        src: $('#cabinet-msg')
    },
    type:'inline',
    midClick: true,
    callbacks: {
        close: function() {
            alert('test');
        }
    }  
});


$.magnificPopup.open({
    items: {
        src: $('#cabinet-msg2')
    },
    type:'inline',
    midClick: true,
    callbacks: {
        close: function() {
            alert('test2');
        }
    }  
});

我该如何解决这个问题?我需要使用 javascript 不使用默认初始化来创建弹出窗口。它有效,但仅适用于一个实例。如何让它适用于多个实例?

看来问题出在这里:

_checkInstance = function() {
    if(!$.magnificPopup.instance) {
        mfp = new MagnificPopup();
        mfp.init();
        $.magnificPopup.instance = mfp;
    }
}

但是当这样声明时:

$('.acb-modal').magnificPopup({
    type:'inline',
    midClick: true,
    callbacks: {
        close: function() {
            $('#opencallback div.timer').hide();
            $('#opencallback #callback_form').show();
            $('#acb-msg-box').hide();
        }
    }   
 });

它工作正常。

我认为它适用于 jquery 具体但我不熟悉它。

我可以通过为此添加隐藏元素来让它工作,但我想把它弄清楚。

是的,我已经通过解析 jquery 对象找到了解决方案:-)

您可以使用此方法直接重新声明回调方法

$.magnificPopup.instance.st.callbacks = {
    close: function() {
         alert('test3')
       }
    }

在使用 $.magnificPopup.open 之前

感谢帮助)