【问题标题】:fancyBox 3 afterShow not working when trigger is created by ajax当ajax创建触发器时fancyBox 3 afterShow不起作用
【发布时间】:2017-12-27 13:49:36
【问题描述】:

我正在尝试在 fancyBox 弹出窗口加载后触发一个函数:

jQuery("[data-fancybox='car']").fancybox({
    afterShow: function() {
        console.log('check me');
    }
});

只有在正常创建弹窗的触发器时(即页面加载时)才有效,但如果fancyBox的触发器是用ajax加载的,afterShow不会控制台'check me'文本。

这是触发器:

<a data-fancybox="car" data-type="ajax" data-src="<?php echo home_url();?>/?car_card=<?php echo $post->ID;?>" href="javascript:;">
    fancyBox Trigger - content is loaded fine, but afterShow does not fire when the trigger is created by ajax. 
</a>

知道为什么吗?

【问题讨论】:

    标签: jquery fancybox


    【解决方案1】:

    如果您在内容存在之前初始化 fancyBox,那么

    1) 查看文档 - http://fancyapps.com/fancybox/3/docs/#usage

    2) 尝试这样的事情:

    $().fancybox({
      selector  : '[data-fancybox="car"]',
      afterShow : function() { console.log('check me'); }
    });
    

    【讨论】:

      猜你喜欢
      • 2013-04-02
      • 1970-01-01
      • 1970-01-01
      • 2017-09-28
      • 2021-11-02
      • 1970-01-01
      • 2011-09-14
      • 2018-02-23
      • 2011-05-05
      相关资源
      最近更新 更多