Jquery 如何访问弹出定义中的调用对象?

Jquery 如何访问弹出定义中的调用对象?,jquery,this,magnific-popup,Jquery,This,Magnific Popup,使用放大弹出窗口,我想访问调用对象/链接的数据属性,以便使用POST将其传递到弹出窗口。代码: $('.editRecord').magnificPopup({ type: 'ajax', preloader: false, ajax: { settings: { method: "POST", data: { recordID: $(this).data("recordid"

使用放大弹出窗口,我想访问调用对象/链接的数据属性,以便使用POST将其传递到弹出窗口。代码:

$('.editRecord').magnificPopup({
    type: 'ajax',
    preloader: false,
    ajax: {
        settings: {
            method: "POST",
            data: {
                recordID: $(this).data("recordid"),
                field1: $(this).data("field1"),
                // similar with the rest of the fields
            }
        }
    }
});
这不起作用,因为
$(This)
似乎实际上引用了文档对象

我找到并尝试了答案中的所有建议,但似乎都不起作用,因为这不是在回调中,而是在设置中。已尝试:

recordID: $.magnificPopup.instance.st.el.data("recordid")

但是我得到的错误消息是,
$.magnificpoup.instance.currItem
$.magnificpoup.instance.st
未定义<代码>$.magnificPopup.instance已定义,但我看不到包含当前项的任何属性


如何从放大弹出定义中访问调用对象?

您可以使用
updateStatus
事件并更改设置。当状态为
加载时,它会在ajax调用之前触发

$('.editRecord').on('mfpUpdateStatus', function(e, statusObj) {
    if(statusObj.status === 'loading') {
        var instance = $.magnificPopup.instance,
            currEl = instance.currItem.el;

        // modify settings object
        instance.st.ajax.settings.data = {
            something: currEl.data('something') 
        };

    }
});

也可以将上述内容添加为回调

尝试将updateStatus添加为回调,但从未触发。改为在打开之前使用,效果良好。但是必须使用
instance.st.el
而不是
instance.currItem.el
$('.editRecord').on('mfpUpdateStatus', function(e, statusObj) {
    if(statusObj.status === 'loading') {
        var instance = $.magnificPopup.instance,
            currEl = instance.currItem.el;

        // modify settings object
        instance.st.ajax.settings.data = {
            something: currEl.data('something') 
        };

    }
});