JS - FullCalendar:当月份变化时收听

Posted

技术标签:

【中文标题】JS - FullCalendar:当月份变化时收听【英文标题】:JS - FullCalendar : Listen when the month changes 【发布时间】:2022-01-15 04:18:00 【问题描述】:

我在使用 FullCalendar v5 时遇到了一点问题,我使用 dayGridMonth 视图对其进行了配置,我希望在用户更改当前月份时收听 ...

例如,如果他正在查看二月并单击 next,他将看到三月,因此我希望使用像 onChangeonMonthChange 这样的处理程序,但我没有在文档中找到任何可做的事情像这样的......

我想出了如何通过制作我自己的上一个/下一个按钮并在点击时触发我的自定义处理程序来解决这个问题......但我想知道是否有一种简单的方法可以做到这一点?

感谢您的回答。

【问题讨论】:

参考fullcalendar.io/docs/datesSet 哇...谢谢!正是我想要的!他们真的应该改进他们的文档(或者至少放一个搜索框) 为什么要知道月份的变化?如果您想让它加载更多事件,请参阅事件源部分 - fullcalendar.io/docs/event-source @ADyson ths 主要原因是从当前月份加载一些数据但不在日历中打印它们......如果活动已注册... 我认为这对我的情况更有用......我稍后会检查它:) Thx 【参考方案1】:

正如@Devsi Odedra 提到的,答案是datesSet

文档:https://fullcalendar.io/docs/datesSet

如果它可以帮助某人,这是我的实际代码:

new Calendar(document.getElementById("calendar"), 
    plugins: [ dayGridPlugin, interactionPlugin ],
    datesSet: event => 
        // As the calendar starts from prev month and end in next month I take the day between the range
        var midDate = new Date((event.start.getTime() + event.end.getTime()) / 2).getMonth()
        var month = `0$ midDate.getMonth() + 1 `.splice(0, -1)
        doSomethingOnThisMonth(month, midDate.getFullYear())
    
);

function doSomethingOnThisMonth(month, year) 
    fetch(`myApi.com/something?month=$ month &year=$ year `)
        .then((result) => 
            // Do something
        )

【讨论】:

以上是关于JS - FullCalendar:当月份变化时收听的主要内容,如果未能解决你的问题,请参考以下文章

FullCalendar and visibleRange

获取视图信息 Fullcalendar V5

fullcalendar jquery显示月份加1

[fullcalendar]让 listMonth 显示比月份更多的详细信息

[fullcalendar]让listMonth显示比月份更多的细节

如何使用Fullcalendar单击年份视图的相应月份单元格时重定向到月视图