view.element.find无法在完整日历v.2中工作



我有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演示。

相关内容

  • 没有找到相关文章

最新更新