【问题标题】:Apply callback to all instances of Magnific Popup?将回调应用于 Magnific Popup 的所有实例?
【发布时间】:2014-09-09 03:11:07
【问题描述】:

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

我的第一个想法是使用事件委托并在文档树中绑定相当高的位置。我试图绑定到mfpOpen 事件并监听BODY 标签,但它似乎不像事件冒泡。还有其他解决方案吗?

【问题讨论】:

    标签: magnific-popup


    【解决方案1】:

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

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

    $.magnificPopup.instance.open = function(data) {
    
        console.log('before open anything');
    
        $.magnificPopup.proto.open.call(this,data);
    
        console.log('after open anything');
    };
    

    你可以用close函数做同样的事情(它没有任何参数)。

    【讨论】:

    • 我可以在显示下一个或上一个画廊项目时挂钩事件吗?
    猜你喜欢
    • 2013-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多