FullCalendar во вкладках jQuery без загрузки изначально через ajax - PullRequest
5 голосов
/ 21 декабря 2010

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

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

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

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

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

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

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

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

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

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

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

Любой совет?

-Брайан

1 Ответ

9 голосов
/ 23 декабря 2010

Вы должны поместить вызов render в событие show на вкладке.вот что он предлагает здесь: http://arshaw.com/fullcalendar/docs/display/render/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...