Javascript FullCalendar JS-获取我在事件中单击网格的日期

Javascript FullCalendar JS-获取我在事件中单击网格的日期,javascript,jquery,fullcalendar,Javascript,Jquery,Fullcalendar,我想在事件中单击网格时获取日期 我尝试过回调函数 dayClick:不可在事件内部单击 eventClick:无日期参数 额外信息 我为事件创建了一个AJAX crud,并在事件内部创建了一个EventException。 假设我们在20XX年12月20日至30日举办了一次活动。 我想用20XX年12月25日的例外情况作为圣诞节 我希望FullCalendar JS的文档能够帮助您解决这一问题。。 请参阅此处的文章: 完整日历文档: 由于每个完整日历日都被堆叠在该日期发生的事件之后,因此您无

我想在事件中单击网格时获取日期

我尝试过回调函数

  • dayClick:不可在事件内部单击
  • eventClick:无日期参数
额外信息
我为事件创建了一个AJAX crud,并在事件内部创建了一个EventException。
假设我们在20XX年12月20日至30日举办了一次活动。

我想用20XX年12月25日的例外情况作为圣诞节

我希望FullCalendar JS的文档能够帮助您解决这一问题。。 请参阅此处的文章:

完整日历文档:


由于每个完整日历日都被堆叠在该日期发生的事件之后,因此您无法获取单击的日期。您有三种可能的解决方法:

  • 当您单击事件时,您可以显示带有日期选择器的模式,并选择“异常日期/范围”。。。然后在后端设置事件的中断
  • 要设置“异常日期/范围”,您可以直接单击日期(而不是事件)并将其设置为“无效”或其他任何内容
  • 创建一个带有“AddException here”项的上下文菜单,该项仅在单击日期(而非事件)时才会触发
  • 无论如何,如果你有一个10天的事件,并在中间设置一个例外。结束日期应提前一天。。
    您最终可以将某些天设置为“假日”,在html中选中,注意我们将向当前FullCalendar添加另一个方法处理程序调用eventClickEx

      eventClickEx: function(jsEvent,ev,view,cellDate){
        alert(cellDate);
      }
    
    在fullcalendar.js中。也在全日历中。在这里,我们调用getCellDate,它现在在视图中不可用

     EventPointing.prototype.handleClick = function (seg, ev) {
            var hit = this.view.queryHit(getEvX(ev),getEvY(ev));
            var cellDate =  this.view.getCellDateEx(hit.row,hit.col);
            var res = this.component.publiclyTrigger('eventClickEx', {
                context: seg.el[0],
                args: [seg.footprint.getEventLegacy(), ev, this.view,cellDate]
            });
            if (res === false) {
                ev.preventDefault();
            }
        };
    
    由于它不可用,我们将使用可以访问dayGrid对象的BasicView类

    BasicView.prototype.getCellDateEx = function (row,col){
      return this.dayGrid.getCellDate(row,col);
    };
    
    现在,当您单击事件时,您将从cellDate获取基础日期。

    尝试:

    $('#calendar').fullCalendar({
      dayClick: function(date, jsEvent, view) {
    
        alert('Clicked on: ' + date.format());
    
      }
    });
    

    可以向我们显示您的代码片段吗?在事件中单击您可以访问事件的开始和结束日期/时间。这还不够吗?你为什么要知道?如果用户单击事件,则表示他们对该事件感兴趣。即使活动跨越多天,你为什么要关心他们点击哪一天?他们在事件中登记了利益,而不是日期。你不能按照你的要求去做,所以我对你想要它的原因很感兴趣,以防有更好的方法来实现相同的最终结果。假设我想在事件范围内创建一个异常。只是要明确,你没有一个事件范围,你只有一个事件。如果你想在事件的中间创造一个缺口,你必须把它变成2个单独的事件。这是唯一的办法。你不能简单地通过用户的点击来决定差距应该在哪里。您必须添加一些额外的UI来询问用户在何处创建间隙。日历无法知道您单击事件的哪一天(我怀疑部分是因为它是使用多层表呈现的)。这类问题以前有人问过,所以。@del与代码段无关。我添加了一个链接,您可以参考。感谢您愿意提供帮助。但似乎太单调而无法实现。
    $('#calendar').fullCalendar({
      dayClick: function(date, jsEvent, view) {
    
        alert('Clicked on: ' + date.format());
    
      }
    });