"agendaWeek" 中的全日历 - 如何使过去一周中的几天无法访问(灰色,无法选择)?



我的 fullcalendar.io 显示在'defaultView: "agendaWeek"模式中。如果一周中的日子过去了,我想使当前一周的单元格变灰。

例如,如果今天是星期三,则日历将显示"Apr 19 — 25, 2015",因此星期一和星期二(没有事件的所有单元格)应为灰色且无法选择。

我想这与viewRender有关,这是它现在的样子(它不允许回到过去,我也想要这样):

 viewRender: function(currentView) {
  var minDate = moment();
  if (minDate >= currentView.start && minDate <= currentView.end) {
    $(".fc-prev-button").prop('disabled', true); 
    $(".fc-prev-button").addClass('fc-state-disabled'); 
  }
  else {
    $(".fc-prev-button").removeClass('fc-state-disabled'); 
    $(".fc-prev-button").prop('disabled', false); 
  };
  debugger
},

您可以使用 select event 和 eventRender

在做出选择后将触发的回调。

然后,可以使用取消选择方法以编程方式清除当前选择。

代码示例

select: function (start, endDate) {
    var minDate = moment();
    if (minDate >= endDate) {
        $("#calendar").fullCalendar('unselect');
        return;
    }
},
eventRender: function (event, element) {
    var minDate = moment();
    if (minDate >= event.end) {
        $(element).addClass('fc-state-disabled');
        return;
    }
}

最新更新