将回调应用于Magnific Popup的所有实例?

时间:2014-09-09 03:11:07

标签: magnific-popup

有没有办法绑定事件回调,以便为Magnific Popup的所有实例调用它?在一个网站上,我建立了几个有固定位置的元素,并且#34; jump"当主浏览器滚动条消失时。我想设置一个回调来在打开任何弹出窗口之前为这些元素添加填充,并在弹出窗口关闭时删除填充。每次初始化Magnific Popup时,我都不想重新使用回调 - 我宁愿设置每次Magnific打开并关闭弹出窗口时运行的一组回调。

我的第一个想法是使用事件委托并在文档树中绑定相当高的值。我试图绑定到mfpOpen事件并听取BODY标记,但它看起来并不像事件泡沫。还有其他解决方案吗?

1 个答案:

答案 0 :(得分:6)

仅在目标元素或文档上调度事件(如果目标元素不存在)。

但是你可以使用原型全局覆盖open函数,例如:

$.magnificPopup.instance.open = function(data) {

    console.log('before open anything');

    $.magnificPopup.proto.open.call(this,data);

    console.log('after open anything');
};

您可以使用close函数执行相同的操作(它没有任何参数)。