dayClick で新しいイベントを作成するときにダイアログを保存した後、このコードを使用します
addEvent(calEvent); // запиcываем в БД при создании eventa
$dialogContent.dialog("close");
$('#calendar').fullCalendar('removeEventSource', source1);
$('#calendar').fullCalendar('removeEventSource', source2);
$('#calendar').fullCalendar('removeEventSource', source3);
$('#calendar').fullCalendar('removeEvents'); // need it for not generating doubles of events
var source1 =
{
url: '/admin_schedule/get_schedule_db/',//"<?echo $data_path?>",
};
var source2 = {
url: '/admin_schedule/get_schedule_db_recurring_events/',//"<?echo $data_path?>",
backgroundColor: 'green',
//borderColor: 'yellow',
//textColor: 'black' // an option!
};
var source3 = {
url: '/admin_schedule/get_schedule_db_recurring_events_on_daysweek/',//"<?echo $data_path?>",
backgroundColor: 'red',
};
$('#calendar').fullCalendar('addEventSource', source1); // without this 3 lines fullcalendar doesn't refetch in Safari, but WITH them it renders doubles in all browsers
$('#calendar').fullCalendar('addEventSource', source2);
$('#calendar').fullCalendar('addEventSource', source3);
$calendar.fullCalendar('updateEvent', calEvent); // обновляет календарь после закрытия dialog'а
//$calendar.fullCalendar('renderEvents');
$calendar.fullCalendar('rerenderEvents');
$('#calendar').fullCalendar('refetchEvents');
また、Safari および Opera ブラウザではカレンダー イベントを再レンダリングしません。ただし、Chrome と Firefox では機能します。間違いはどこにありますか?