我试图覆盖Magnific Popup close
方法(outlined in the documentation和answered here by the developer in another question)。但是,当使用open
方法创建弹出窗口(而不是附加到DOM中的元素)时,$.magnificPopup.proto
无法访问。
这是我的非工作代码示例。如您所见,我在弹出窗口打开后尝试覆盖close
方法。当我尝试关闭时,console.log
会触发(通过我的关闭按钮或点击 ESC ),但该框不会关闭。
$.magnificPopup.open({
items: {
src: '/path/to/file',
type: 'ajax',
},
callbacks: {
open: function() {
$.magnificPopup.instance.close = function() {
console.log('close override is working');
$.magnificPopup.proto.close.call(this);
}
},
ajaxContentAdded: function() {
var m = this;
this.content.find('.redbutton').on('click', function(e) {
e.preventDefault();
m.close();
});
}
},
closeOnContentClick: false,
closeOnBgClick: false,
showCloseBtn: false,
enableEscapeKey: true
});
如何关闭包装盒?