JS - FullCalendar:当月份变化时收听
Posted
技术标签:
【中文标题】JS - FullCalendar:当月份变化时收听【英文标题】:JS - FullCalendar : Listen when the month changes 【发布时间】:2022-01-15 04:18:00 【问题描述】:我在使用 FullCalendar v5 时遇到了一点问题,我使用 dayGridMonth
视图对其进行了配置,我希望在用户更改当前月份时收听 ...
例如,如果他正在查看二月并单击 next
,他将看到三月,因此我希望使用像 onChange
或 onMonthChange
这样的处理程序,但我没有在文档中找到任何可做的事情像这样的......
我想出了如何通过制作我自己的上一个/下一个按钮并在点击时触发我的自定义处理程序来解决这个问题......但我想知道是否有一种简单的方法可以做到这一点?
感谢您的回答。
【问题讨论】:
参考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]让 listMonth 显示比月份更多的详细信息