有没有办法绑定事件回调,以便为Magnific Popup的所有实例调用它?在一个网站上,我建立了几个有固定位置的元素,并且#34; jump"当主浏览器滚动条消失时。我想设置一个回调来在打开任何弹出窗口之前为这些元素添加填充,并在弹出窗口关闭时删除填充。每次初始化Magnific Popup时,我都不想重新使用回调 - 我宁愿设置每次Magnific打开并关闭弹出窗口时运行的一组回调。
我的第一个想法是使用事件委托并在文档树中绑定相当高的值。我试图绑定到mfpOpen
事件并听取BODY
标记,但它看起来并不像事件泡沫。还有其他解决方案吗?
答案 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
函数执行相同的操作(它没有任何参数)。