javascript - FullCalendar 4.1 和调用刷新事件

标签 javascript jquery fullcalendar fullcalendar-4

FullCalendar 4.1.0、Windows 10、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 中选择范围时处理用于输入新事件数据的弹出表单。如果模块成功,则会“触发”自定义 jquery 事件 fullCalendar.refetchEvents

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

我已经尝试过上面的内容以及:

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

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

我错过了什么?

最佳答案

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

calendar.refetchEvents()

关于javascript - FullCalendar 4.1 和调用刷新事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57897021/

相关文章:

javascript - 完整日历 - 如何在完整日历的月 View 中向日期添加前导零

javascript - Coffeescript jQuery 每个循环

javascript - 如何仅在菜单中对父项使用 PreventDefault() ?

javascript - 正则表达式字符串与管道不匹配

javascript - 仅获取 thead 下的所有 th 标签

javascript - 使用ajax提交获取检查值

javascript - 如何以编程方式更新全日历中事件的呈现

javascript - 如何在全日历中从上个月和下个月开始不可点击日期?

javascript - 注入(inject)的 Javascript 错误(Python Web Scraper)

javascript - 从父页面初始化 iFrame 内的 TinyMCE