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

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

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

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

感谢您的回答。

【问题讨论】:

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

标签: javascript fullcalendar fullcalendar-5


【解决方案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
        })
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-24
    • 1970-01-01
    • 2015-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多