如何获取在onComplete中打开Fancybox3的链接ID?

时间:2017-03-12 06:26:02

标签: javascript jquery callback fancybox fancybox-3

我已经看到在stackoverflow上的其他问题中看起来可能是这个问题的解决方案,但是其中没有一个有效。

我正在尝试获取被点击以打开Fancybox的链接的innertext:

  

$(“a.turnDateLink”)。each(function(){

              var that = $(this);

              $( "a.turnDateLink" ).fancybox({
                  'type': 'modal',
                  'onComplete': function() {

                      var currentday = $(that).text();
                      console.log(currentday);
                  },
                  'afterClose': clearCurrentDay,
                  'fullScreen' : false
              });
     

});

它只返回上一个a.turnDateLink.每个时间的innerText!啊。

请记住,我想使用fancybox分组。

请参阅Fancybox文档以了解分组:http://fancyapps.com/fancybox/3/docs/#usage

  

如果您有一组项目,则可以使用相同的属性   data-fancybox值为每个人创建一个图库。每组   应该有一个独特的价值:

     

     

     

     

2 个答案:

答案 0 :(得分:2)

查看有关活动的文档 - http://fancyapps.com/fancybox/3/docs/#events

第一个examaple包含有用的提示,包括如何找到点击的元素:

onComplete: function( instance, slide ) {

    // Tip: Each event passes useful information within the event object:

    // Object containing references to interface elements
    // (background, buttons, caption, etc)
    // console.info( instance.$refs );

    // Current slide options
    // console.info( slide.opts );

    // Clicked element
    // console.info( slide.opts.$orig );

    // Reference to DOM element of the slide
    // console.info( slide.$slide );

}

答案 1 :(得分:0)

请尝试这样做。将$( "a.turnDateLink" )更改为that

$("a.turnDateLink").each(function() {

                  var that = $(this);

                  that.fancybox({
                      'type': 'modal',
                      'onComplete': function() {
                          $("#currentday").html('');

                          var currentday = that.text();
                          console.log(currentday);
                      },
                      'afterClose': clearCurrentDay,
                      'fullScreen' : false
                  });
    });