FullCalendar JS - 当我点击事件

时间:2018-03-18 23:48:44

标签: javascript jquery fullcalendar

我希望在点击事件 中的 网格时获取日期。

我尝试了回调函数。

  • dayClick:内部事件无法点击。
  • eventClick:没有日期参数

额外信息
我为 Event 创建了一个AJAX crud,并在事件中创建了一个 EventException
我们假设我们在20XX年12月20日至30日举行了一次活动 我想在圣诞节那天使用20XX 12月25日的例外。

5 个答案:

答案 0 :(得分:1)

在html中,请注意我们将向当前的fullcalender添加另一个方法处理程序调用eventClickEx。

  eventClickEx: function(jsEvent,ev,view,cellDate){
    alert(cellDate);
  }

在fullcalendar.js中。也在fullcalendar中。在这里,我们正在调用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获得基础日期。

答案 1 :(得分:0)

我希望FullCalendar JS的文档可以帮助你... 请参阅此处的文章:https://fullcalendar.io/docs/dayClick

答案 2 :(得分:0)

dayClick: function(date, jsEvent, view) {

  //this will log the date of a certain grid clicked in the console   
  console.log(date) 
}

fullcalendar文档:

https://fullcalendar.io/docs/dayClick

答案 3 :(得分:0)

由于每个Fullcalendar日都堆放在该日期发生的事件之后,因此您无法获得点击日期。您有三种可能的解决方法:

  1. 当您点击该事件时,您可以显示带有datepicker的模态并选择“例外日期/范围”...然后在后端设置事件的中断。
  2. 要设置“例外日期/范围”,您可以直接点击日期(而不是事件)并将其设置为“无效”或其他。
  3. 创建一个上下文菜单,其中包含“在此处添加例外”项,只有在点击日期(而不是事件)时才会触发
  4. 无论如何,如果你有10天的活动,并在中间设置一个例外..结束日期应该向前移动一天.. 最终将某些日子定为“假期”,请检查this

答案 4 :(得分:0)

尝试:

pshufb