3

我使用此功能更改一个日历的日期(arshaw 的 jquery fullcalender)。

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)是否已初始化。

4

1 回答 1

2

我不确定它是否是最好的解决方案,但它可以完美运行 - 使用完整日历加载回调并设置全局布尔标志,例如:

<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状态。

例如,我使用加载回调来显示/隐藏进度指示器。

于 2013-04-18T14:34:13.153 回答