Podczas korzystania z jquery fullCalendar, dlaczego widzę zduplikowane zdarzenia po przełączeniu miesięcy?
jestemprzy użyciu wtyczki fullCalendar jquery i wpadam na dziwny problem.
Kiedy ładuję pierwszy miesiąc (w tym przypadku grudzień 2013), działa dobrze. Wywołuję zdarzenie ajax i zwracam zestaw zdarzeń. Zwracam 40 zdarzeń z mojego serwera i widzę 40 zdarzeń renderowanych.
Następnie przechodzę do następnego miesiąca (styczeń 2014) i również działa dobrze. (41 zdarzeń z serwera i 41 zdarzeń pojawia się w GUI)
Następnie klikam WSTECZ, aby zmienić z powrotem na grudzień 2013 r. I otrzymuję zdarzenie ajax, które zwraca te same 40 zdarzeń (jak powyżej), ale kiedy kalendarz się ładuje, zobacz każde zdarzenie w grudniu zduplikowane (80 GUI jest pokazanych w GUI), mimo że wysyłam tylko 40 z serwera i widzę 40 podczas wywołania zwrotnego zdarzeń.
Oto mój kod:
$('#calendar').fullCalendar({
header: {
left: 'prev,next title today',
right: ''
},
lazyFetching: false,
editable: false,
timeFormat: 'H:mm{-H:mm} ',
viewDisplay: function (view) {
ViewDisplay();
},
events: function (start, end, callback) {
$('#Month').val($('#calendar').fullCalendar('getDate').getMonth() + 1);
$("#Year").val($('#calendar').fullCalendar('getDate').getUTCFullYear());
var serializedFormInfo = $('#rotaForm').serialize();
$.ajax({
url: '/SupportRota/GetEvents/',
dataType: 'json',
cache: false,
data: serializedFormInfo,
success: function (data) {
callback(data.RotaEvents);
}
});
}
});
Próbowałem dodać lazyLoading: false, ponieważ założyłem, że jest to jakiś rodzaj buforowania, ale to nie wydaje się rozwiązywać problemu.
Umieściłem punkt przerwania w firebugu na linii
callback(data.RotaEvents)
I widzę 40 wydarzeń, ale 80 scen pojawia się na ekranie podczas scenariusza opisanego powyżej.
Jakieś sugestie?