如何获取在 Fullcalendar v4 中双击背景事件的日期?

How to get date where was background event double clicked in Fullcalendar v4?

我的全日历中有背景事件,我使用时间线视图。我添加了双击触发器来处理此操作,但我需要获取日期,双击完成的位置。

例如,如果用户点击突出显示的方块,它应该触发“11 月 6 日被双击”。 (绿线是背景事件)。

eventRender: function(info) {
  $(info.el).on('dblclick', function() {
    // I need to somehow get clicked date here
    alert('XYZ was double clicked!');
  });
});

这里有没有获得点击日期的方法?

我制定了解决方案。它有点脏,但它有效。

  1. 我是用鼠标点击坐标计算的
  2. 获取天列的宽度
  3. 计算点击列的顺序
  4. 按照点击列的顺序,我在 header
  5. 中得到相同的列
  6. 我从 header
  7. 中的列的 data-date 属性中获取日期

.

$(info.el).on('dblclick', function(event) {
    // get the element of the whole row
    var element = $(this).parent().offset();

    // get the x position of cursor
    var x = event.pageX - element.left;

    // get the width of column, dynamically calculated because width of viewport can be changed
    var width = $('.fc-head .fc-time-area th.fc-widget-header').outerWidth() - 1;

    // order number of clicked column
    var number = Math.ceil(x / width);

    // now we have a date of clicked date (despite we clicked background event)
    alert($('.fc-head .fc-time-area th.fc-widget-header:nth-of-type(' + number + ')').data('date'));
});

也许它对某人有帮助。请注意,此解决方案计算背景事件 - 这些事件被点击。