FullCalendar 4.1 和调用 refreshevents

FullCalendar 4.1 and calling refreshevents

FullCalendar 4.1.0,Windows10,VisualStudio 2019

我有以下经过轻微编辑的有效代码:

var calendar = undefined;

$(function() {
    calendarInit();
});

function calendarInit() {
    try {
        calendar = new FullCalendar.Calendar(
            document.getElementById("calendar"), {
                'plugins': [
                    "interaction",
                    "dayGrid",
                    "timeGrid",
                    "bootstrap",
                    "list",
                    "moment",
                    "momentTimezone"
                ],
                'themeSystem': "bootstrap4",
                'titleFormat': "MMM D, YYYY",
                ...
                'events': function(info, successCallback, failureCallback) {
                    $.get({
                        'url': `/Thing/GetEvents`,
                        'data': {
                            'device': machine,
                            'start': myStart,
                            'end': myEnd
                        },
                        'dataType': "json",
                        'traditional': true
                    }).done(function(ajaxData, textStatus, jqXhr) {
                        successCallback(ajaxData.events);
                    }).fail(function(jqXHR, textStatus, errorThrown) {
                        ...
                    });
                }
            });

        calendar.render();

        $("body").on("fullCalendar.refetchEvents", function(e) {
            calendar.fullCalendar("refetchEvents");
        });

    } catch (e) {
        throw `calendarInit: ${e.message}`;
    }
}

出现日历,显示事件。我有一个自己开发的模块,当在 dayView 中选择一个范围时,它可以处理用于输入新事件数据的弹出表单。如果模块成功,那么它 "triggers" 自定义 jquery 事件 fullCalendar.refetchEvents

try 块中的最后一点捕获自定义事件,但在 calendar.fullCalendar("refetchEvents"); 行上出现 barfs。有人告诉我 calendar 不是函数。

上面的方法我都试过了,还有:

$("#calendar").fullCalendar("refetchEvents");

结果相同。 calendar.render(); 在它上面工作,calendar 应该是全局的。

我错过了什么?

根据 documentation 调用该方法的正确语法是

calendar.refetchEvents()