全日历事件不保留颜色变化



我正在通过执行以下操作来更改FullCalendar(http://arshaw.com/fullcalendar/docs/event_data/)中的事件:

            eventClick: function (event)
            {
                if ($(this).css('background-color').match(/^(?:green|#fff(?:fff)?|rgba?(s*0s*,s*255s*,s*0s*(?:,s*1s*)?))$/i)) {
                    $(this).css('border-color', 'red');
                    $(this).css('backgroundColor', 'red');
                }
                else if ($(this).css('background-color').match(/^(?:red|#fff(?:fff)?|rgba?(s*255s*,s*0s*,s*0s*(?:,s*1s*)?))$/i)) {
                    $(this).css('border-color', 'blue');
                    $(this).css('backgroundColor', 'blue');
                }
            }

但我发现,一旦我更改了一个事件颜色(甚至几个事件颜色),然后将一个事件拖到另一天,所有事件的颜色都会变回原来的颜色。

我怎样才能防止这种情况???如何使 evet 在更改后保持其颜色?

使用这个:

eventClick: function (event)
            {
                if ($(this).css('background-color').match(/^(?:green|#fff(?:fff)?|rgba?(s*0s*,s*255s*,s*0s*(?:,s*1s*)?))$/i)) {
                    event.color = 'red';
                    event.borderColor = 'red';
                }
                else if ($(this).css('background-color').match(/^(?:red|#fff(?:fff)?|rgba?(s*255s*,s*0s*,s*0s*(?:,s*1s*)?))$/i)) {
                    event.color = 'blue';
                    event.borderColor = 'blue';
                }
                calendar.fullCalendar('renderEvent',event ,true);
            }

Se 单个事件中的颜色,而不是全局颜色;然后在单击事件中更新事件元素和完整日历视图。

示例代码:

$('#mycalendar').fullCalendar({
    header: {
        left: 'prev,next today',
        center: 'title',
        right: 'month,agendaWeek,agendaDay'
    },
    editable: true,
    eventSources: [{
        events: [{
            title: 'Event1',
            color: 'green',
            start: '2014-04-05'
        }, {
            title: 'Event2',
                    color: 'green',
            start: '2014-04-19'
        }],
        textColor: 'black'
    }],
    eventClick: function (calEvent, jsEvent, view) {
        calEvent.color = 'red';
        $('#mycalendar').fullCalendar('updateEvent', calEvent);
    }
});

演示:http://jsfiddle.net/IrvinDominin/6Ffsy/

最新更新