Frage an render, javascript, fullcalendar, json – jQuery FullCalendar wird nicht gerendert

12

Ich habe einen funktionierenden Vollkalender auf meiner Site. Die aktuelle Kalendertabelle wird jedoch erst angezeigt, wenn Sie den Monat / das Jahr ändern oder "Heute" auswählen.

Wenn ich mir die gerenderte Quelle ansehe, sehe ich, dass das Div um den Tisch herum leer ist, bis ich einen Knopf drücke.

<code><div style="position: absolute; -moz-user-select: none;" class="fc-view fc-view-month fc-grid" unselectable="on"></div>
</code>

Hat jemand eine Ahnung, warum das passiert?

Deine Antwort

1   die antwort
32

das zunächst nicht sichtbar ist?

In diesem Fall müssen Sie den fullCalendar explizit rendern, wenn dieses Steuerelement aktiv ist.

Angenommen, Sie verwenden das Widget "jQuery-Benutzeroberflächen-Registerkarten" und haben den Vollkalender auf der zweiten Registerkarte (die ausgeblendet ist, bis die zweite Registerkarte ausgewählt ist). In diesem Fall könnten Sie so etwas tun:

<code>$('#tabs').tabs({
    show: function(event, ui) {
        $('#calendar').fullCalendar('render');
    }
});
</code>

Dadurch wird sichergestellt, dass der Kalender gerendert wird, wenn die Registerkarte angezeigt wird. Hoffe das hilft!

Nur eine kurze Notiz (übrigens perfekte Antwort). Weiß jemand, warum eine zunächst ausgeblendete Ansicht nicht gerendert wird? Für mich muss ich rendern, nachdem mein Modal hereinkommt und es auf seltsame Weise in Aktion tritt ... Es spielt keine Rolle, weil ich es nur abdecken und einblenden werde (weil ich ein flüssiger Operator bin) ) ... aber ich würde immer noch gerne wissen, warum ich mich entschieden habe, nicht zu rendern, wenn es versteckt ist! :) lol
Auch 5 Jahre später noch eine gute Antwort, danke :) KCarnaille
Perfekt! Das macht Sinn. Die optimale Lösung ist es also, sie einzublenden, oder? lol
Bingo, das hat funktioniert. Ich habe es nicht in den Registerkarten der Benutzeroberfläche, aber es ist in benutzerdefinierten Registerkarten, die ich erstellt habe. Ich habe versucht, es zu rendern, aber ich glaube, ich habe den Code nicht an der richtigen Stelle platziert. Vielen Dank! ksumarine

Verwandte Fragen