Полный календарь jquery: обратный вызов «после» календаря полностью загружен - PullRequest
9 голосов
/ 14 февраля 2012

Есть ли обратный вызов в полном календаре jquery Адама Шоу, который вызывается после того, как календарь полностью рендерился?Я хочу вызвать функцию clientEvents в этом обратном вызове, чтобы получить все события на стороне клиента.Я попытался сделать это в viewDisplay, но он вызывается перед визуализацией событий, а clientEvents возвращает 0 событий.

Ответы [ 4 ]

22 голосов
/ 15 сентября 2012

Я знаю, что это сообщение довольно старое, но если оно поможет, вам не нужно изменять исходный код, как предлагает Cheery (хотя его / ее ответ также работает нормально).

Вы также можете просто использовать обратный вызов 'loading', который уже установлен:

$('#calendar').fullCalendar({
   loading: function(bool) {
      if (bool){
         alert('I am populating the calendar with events');
      }
      else{
         alert('W00t, I have finished!');
         // bind to all your events here
      }
   }
);
9 голосов
/ 14 февраля 2012

На самом деле вы можете добавить его самостоятельно.Обновите функцию render в fullcalendar.js следующим образом

function render(inc) {
    if (!content) {
        initialRender();
        trigger('complete', null, true);
    }else{
        calcSize();
        markSizesDirty();
        markEventsDirty();
        renderView(inc);
        trigger('complete', null, true);
    }
} 

и добавьте к функции обратного вызова начальный вызов:

$('#calendar').fullCalendar({
         editable: true,
         complete: function() {alert('complete');}, 

или, как вы хотели, вы можете получить доступ ко всемсобытия

    complete: function() {
        var events = $(this).fullCalendar('clientEvents');
        for(var i in events)
        {
            alert(events[i].title);
        }
    },
7 голосов
/ 11 апреля 2014

Это может быть НАСТОЯЩИЙ способ, но в настоящее время существует официальная функция обратного вызова (добавлена ​​в версии 1.6): eventAfterAllRender .Модификация исходного кода не требуется.

0 голосов
/ 08 октября 2016

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

...