FullCalendar на вкладках jQuery изначально не загружается через ajax

Я использую свою собственную функцию для заполнения событий:

$('#calendar').fullCalendar({
  events:getCalendarData
});

И у меня есть календарь в качестве одной из вкладок с помощью плагина jQuery tabs (вкладки создаются с помощью $ ('# tabs'). tabs ();).

Настройка работает, за исключением того, что я обнаружил, что когда я изначально загружаю страницу, календарь делает асинхронный запрос (я вижу его в Firebug), но если я переключусь на вкладку, на которой отображается календарь, она будет пустой (интерфейс в порядке, но без событий). Если я перейду к следующему месяцу и обратно, он покажет данные нормально.Кроме того, если я сделаю календарь на ПЕРВОЙ вкладке, тогда он будет работать нормально! Таким образом, кажется, что только начальный запрос не отображает события, возможно, потому что вкладка скрыта во время загрузки.

Если я загружу страницу, перейди на вкладку календаря (не показывающую событий), и я случайно позвонил вручную

$('#calendar').fullCalendar( 'render' ); 

, тогда он загрузит события. Я пробовал поместить этот вызов рендеринга ПОСЛЕ вызова обратного вызова fullCalendar, но без кубиков.

callback(events);
$('#calendar').fullCalendar( 'render' );

Похоже, что одним из вариантов может быть привязка

$('#calendar').fullCalendar( 'render' );

к событию отображения вкладки, но тогда это немного беспорядочно .

Что-нибудь посоветуете?

-Brian

5
задан Nirav Vasoya 29 April 2019 в 11:59
поделиться