Ich muss Javascript ausführen, um den Kalender neu zu laden, wenn der Benutzer auf die Schaltflächen Tag / Woche / Monat klickt. Gibt es Callbacks wie dayButtonClicked () oder etwas?
BUG passiert:
wenn ich den Kalender zum ersten Mal lade. Die anfängliche Ansicht sieht gut aus, meine lädt am ersten Tag. Sobald ich eine andere Ansicht wie z. B. Woche geladen habe. Jeder einzelne Eintrag wird dupliziert und zeigt beide Datenquellen an. Wenn ich dann zwischen Tag und Monat wieder vor- und zurückwechsle, sind die Daten wieder normal. Was passiert, ist, dass die removeEventSource nicht aufgerufen wird, wenn sie die neue Ansicht nach einem Klick von Tag zu Woche lädt. Hast du das schon einmal gesehen?
%Vor%Ich habe deinen Code sogar genau so kopiert, wie du es tust, weil ich dachte, dass es ein Problem mit meinem Code gäbe. auch wenn ich zu diesem ändern:
%Vor%Es lädt Daten immer noch doppelt, wenn ich von der standardmäßig geladenen Ansicht zu einer anderen gehe. Ich fange an zu denken, dass es ein Fehler in FullCalendar ist. Es macht mich verrückt
EDIT 2: MEIN GOTT. Ich kann nicht glauben, dass es endlich funktioniert!
Ich habe keine Ahnung warum, aber ich musste um addEventSource
und removeEventSource
tauschen, es sieht jetzt ungefähr so aus:
Ja - leider abhängig davon, wie Sie es sehen - es könnte entweder ein Feature oder ein Bug sein!?! Die Zeile, die wichtig ist, ist
%Vor%Von meinem anderen Beitrag!
Warum funktioniert lastView == undefined
? Das liegt daran, dass das Ereignis ausgelöst wird, wenn der Kalender geladen wird, bevor noch etwas auf dem Bildschirm angezeigt wird!
Also mache ich ein var = lastview
und lasse es undefiniert, wenn das Ereignis das erste Mal auslöst, wenn es firstRun
zuweist, kann es alles wirklich sein - aber nicht der tatsächliche Name von monthView
Dieser Schritt SKIPS das erste Ereignis- und wird nicht Ihren Feed zweimal hinzufügen! Ich habe beide diese Dinge als ein Fehler mit den Entwicklern hinzugefügt .. aber sie denken darüber nach - weil sie strittige Eigenschaften sind ..
Es bleibt also nur noch, eine Skip-Methode fest zu programmieren - und deshalb ist diese ganze lastview
da. Ich habe 2 oder 3 Tage damit verbracht, dieses Problem zu beheben. Sie müssen Ihrem Code Zeile für Zeile folgen und sehen, wann die Feeds hinzugefügt werden, und versuchen Sie es irgendwie zu vermeiden.
Vergessen Sie nicht, die letzte viewname
am Ende des Ereignisses zu setzen.
Normalerweise wird durch Klicken auf die Schaltfläche "Ansicht" dieses Ereignis ausgelöst
Seien Sie vorsichtig, denn dieses Ereignis wird auch ausgelöst, wenn Sie in der Monatsansicht die Tage für Tagesansichten oder Monate ändern, aber Sie übergeben dies, indem Sie eine letzte Variable speichern
jQuery ..
%Vor%Ersetzen Sie das ** durch entweder
%Vor%Es wird nur Ihren Feed wieder erhalten. Aktualisieren und aktualisieren Sie alle Änderungen, die möglicherweise aufgetreten sind Ссылка
oder Sie könnten die Quellen wechseln
%Vor%Aber um herauszufinden, auf welche Schaltflächen geklickt wurde, müssten Sie dies tun
%Vor%Tags und Links javascript html javascript-events fullcalendar