javascript - FullCalendar v4.2.0 destroy() 不工作

标签 javascript php html fullcalendar fullcalendar-4

https://fullcalendar.io/docs/destroy

完整日历代码:

     document.addEventListener('DOMContentLoaded', function () {           
        var calendarEl = document.getElementById('calendar');
        var calendar = new FullCalendar.Calendar(calendarEl, {
            plugins: ['interaction', 'dayGrid', 'timeGrid'],                
            defaultDate: new Date(),
            navLinks: true,
            selectable: true,
            selectMirror: true,
            draggable: true,                
            editable: true,
            eventLimit: true, 
            events: [
                <?= $contents ?>
            ],                
        });

        calendar.render();
    });

FullCalendar v4.2 销毁无法正常工作 我尝试了以下方法,

 1. var calendarEl = document.getElementById('calendar');
    calendarE1.destroy();

 2. $("#calendar).destroy();

 3. calendarEl = document.getElementById('calendar');
    var calendar = new FullCalendar.Calendar(calendarEl, {
      plugins: ['interaction', 'dayGrid', 'timeGrid'],
    });
    calendar.destroy();

这些我尝试过,但没有任何帮助! 注意:我试图在ajax成功中销毁日历。
我的目标是我需要销毁旧事件并通过新事件重新初始化。

最佳答案

基本上,您可以从 DOMContentLoaded 中初始化主 Calendar 对象,并将其用作该页面中的全局对象,如以下代码所示:

     var calendar;

     document.addEventListener('DOMContentLoaded', function () {           
     var calendarEl = document.getElementById('calendar');
     calendar = new FullCalendar.Calendar(calendarEl, {
            plugins: ['interaction', 'dayGrid', 'timeGrid'],                
            defaultDate: new Date(),
            navLinks: true,
            selectable: true,
            selectMirror: true,
            draggable: true,                
            editable: true,
            eventLimit: true, 
            events: [
                <?= $contents ?>
            ],                
        });

        calendar.render();
    });

现在在任何其他函数中,您可以调用它来销毁,如下所示:

if (calendar) {
   calendar.destroy();
}

另一种选择是使用“refetchEvents”,如此链接中所述: how to refresh fullcalendar v4 after change events object using ajax

此链接也可能对您有帮助: Destroy fullcalendar on bootstrap tabs click before new calendar is initialized

关于javascript - FullCalendar v4.2.0 destroy() 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59026525/

相关文章:

javascript - Django DRF 从 POST 读取 json?

javascript - 如何将参数传递给模块模式

javascript - 使用 $q.all 在 Promise 中调用 Promise

php - 如何在服务器中执行 MQL4 程序?

javascript - tinyMCE setContent 剥离结束 p 标签

javascript - Bootstrap 3 和 Angular JS - 带有表格和 div 的行

javascript - Angular2引导错误: Error: No ExceptionHandler.是否包含平台模块(BrowserModule)?

javascript - 使用 jQuery 更改 twig foreach 循环中的类

php - 如何通过循环连接mysql Db

javascript - 密码强度可视化工具 - Html & Javascript/Ajax