我有这段代码
$('#calendar').fullCalendar({
viewRender:function(view,element){
if(view.name == "agendaDay"){
if(jQuery("#calendar").hasClass("hasRendered") == false){
var newEvent = {
start: '2014-10-29 07:00',
end: '2014-10-29 10:00',
allDay: false,
};
$('#calendar').fullCalendar( 'renderEvent', newEvent,'stick');
}
}
},
});
此代码的问题在于,即使我已经在agendaDay视图中,它也会继续调用eventRender。如何防止这种情况发生?
答案 0 :(得分:2)
不确定为什么要这样做,但这是一个有效的例子:
http://jsfiddle.net/3E8nk/762/
viewRender:(function() {
var lastViewName;
return function(view, element) {
if(view.name === 'agendaDay' && lastViewName != view.name) {
var newEvent = {
start: '2014-06-12T10:30:00',
end: '2014-06-12T12:30:00',
allDay: false,
title: 'My test meeting'
};
$('#calendar').fullCalendar( 'renderEvent', newEvent);
}
lastViewName = view.name;
}
})(),
请注意,每次进入agendaDay时,这都会再次添加事件(尽管这很容易解决)。如果你描述你真正想要做的事情,可能是一个更好的解决方案。