我想在单击时更改所选事件的颜色,此外,当我在日历中选择另一个事件时,我希望上一个事件获得其初始颜色。
这是我尝试过的:
eventClick:function(info){
if($(this).css('background-color')=='rgb(58, 135, 173)'){
$(this).css('background-color','red');
}
else{
$(this).css('background-color','rgb(58, 135, 173)');
}
}
我试图在 if 块之前添加这一行,但没有任何变化:
$('#calendar').fullCalendar(" eventColor", "#378006");
所以有什么想法吗?
更新
我在文档中发现我可以动态设置日历的选项,我做到了:
$('#calendar').setOption('eventColor','blue')
但是我收到一个错误,告诉setOption 不是一个函数?
试试这个:
eventClick: function(event) {
event.backgroundColor = 'red';
$('#calendar').fullCalendar('rerenderEvents');
},
我在这里得到答案,只需添加一个变量来存储上一个事件并在下一次单击时更改其背景:
var previousClickedEvent;
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
locale:'fr',
defaultDate: '2016-10-01',
navLinks: true,
eventLimit: true,
events:events,
eventClick:function(info){
if(previousClickedEvent){
previousClickedEvent.css('background-color','rgb(58, 135, 173)');
}
/*some code*/
if($(this).css('background-color')=='rgb(58, 135, 173)'){
$(this).css('background-color','red');
}
else{
$(this).css('background-color','rgb(58, 135, 173)');
}
previousClickedEvent=$(this);}})