我有eventRender函数来更改特定类名的日期背景。
eventRender: function (event, element, view) {
if (event.className == 'booked') {
var dateString = $.fullCalendar.formatDate(event.start, 'yyyy-MM-dd');
view.element.find('.fc-day[data-date="' + dateString + '"]').css('background-color', '#FAA732');
}
},
该功能在完整日历1.6.4上正常工作,但在2.1版本中不正常(我已经将日期转换为时刻)。
Uncaught TypeError: Cannot read property 'find' of undefined fullcalendar
另一个问题是,此函数只更改事件开始的背景,而不是事件的整个日期
$.fullCalendar.formatDate(event.start, 'yyyy-MM-dd');
不再需要,并且在2.*中不起作用。这是因为event.start
已经是momentjs
对象。你可以简单地使用
event.start.format("YYYY-MM-DD");
至于view.element
,它被view.el[0]
取代了,所以你应该使用
$(view.el[0]).find('.fc-day[data-date=' + dateString + ']')
更改特定日期。
您的eventRender
将成为
eventRender: function(event, element, view) {
var dateString = event.start.format("YYYY-MM-DD");
$(view.el[0]).find('.fc-day[data-date=' + dateString + ']')
.css('background-color', '#FAA732');
},
有关完整的代码,请查看JSFiddle演示。