如何更改所有 FullCalendar 的事件颜色 onClick?
How to Change all FullCalendar 's events color onClick?
我想更改 selected 事件 onClick 的颜色,此外,当我 select 我日历中的另一个事件时,我希望前一个事件获得它的初始颜色。
这是我试过的:
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");
有什么想法吗?
更新
我在 docs 中发现我可以动态设置日历的选项,我这样做了:
$('#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);}})
我想更改 selected 事件 onClick 的颜色,此外,当我 select 我日历中的另一个事件时,我希望前一个事件获得它的初始颜色。
这是我试过的:
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");
有什么想法吗?
更新
我在 docs 中发现我可以动态设置日历的选项,我这样做了:
$('#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);}})