jquery fullcalendar: инициализация завершена?

Я использую эту функцию, чтобы изменить дату для одного календаря (jquery fullcalender от arshaw).

function cal_gotoDate(d){
    console.log('cal_gotoDate ' + curCal + ' ' + d);    
    $('#calendar'+curCal).fullCalendar('gotoDate', d);
    cal_setTitle();
    return false;
}

Проблема: календарь будет загружаться динамически с помощью ajax. Может случиться так, что календарь не загружается, когда пользователь пытается изменить дату. Поэтому я получил ошибку, если они не инициализированы:

TypeError: $(...).fullCalendar is not a function

Я хотел бы проверить, инициализирован ли fullcalender $('#calendar'+curCal).


person Mike    schedule 18.04.2013    source источник
comment
вы можете проверить что-то вроде if($.fn.fullCalendar) {...}   -  person Aamir Afridi    schedule 18.04.2013


Ответы (1)


Я не уверен, что это лучшее решение, но оно работает отлично — используйте fullcalendar loading обратный вызов и установить глобальный логический флаг, например:

<script type="text/javascript">
    var globalflag = false;
    $(document).ready(function() {
        $('#calendar').fullCalendar({
            //calendar initialization code
            loading: function (bool) { 
                if (!bool){
                    globalflag = true;
                }
                else{
                    globalflag = false;
                }
            }
        })
    });
</script>

и теперь вы можете проверить статус globalflag.

Например, я использую обратный вызов загрузки для отображения/скрытия индикатора выполнения.

person Lukasz Koziara    schedule 18.04.2013