0

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

我正在尝试获取单击以打开 Fancybox 的链接的内部文本:

$("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
              });

});

它只返回最后一次的 innerText a.turnDateLink. !啊。

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

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

如果您有一组项目,则可以为每个项目使用相同的属性 data-fancybox 值来创建画廊。每个组都应该有一个唯一的值:

4

2 回答 2

3

检查有关事件的文档 - http://fancyapps.com/fancybox/3/docs/#events

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

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 );

}
于 2017-03-12T16:17:34.737 回答
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
                  });
    });
于 2017-03-12T06:32:18.117 回答