Jquery 切换完整日历视图时重新蚀刻事件
我在日历中使用了3个视图:月、agendaWeek和agendaDay。添加事件后,调用refetchEvents以显示新事件。如果我从agendaWeek或agendaDay添加一个事件,那么refetch当然会获取一周或一天的事件。如果我随后切换到月视图,我只有一周或一天的事件 我已尝试在viewDisplay上添加refetchEvents。问题是它在初始负载上运行,这会导致所有事件的重复。是否有一种方法可以阻止在日历加载期间调用refetchEventsJquery 切换完整日历视图时重新蚀刻事件,jquery,fullcalendar,Jquery,Fullcalendar,我在日历中使用了3个视图:月、agendaWeek和agendaDay。添加事件后,调用refetchEvents以显示新事件。如果我从agendaWeek或agendaDay添加一个事件,那么refetch当然会获取一周或一天的事件。如果我随后切换到月视图,我只有一周或一天的事件 我已尝试在viewDisplay上添加refetchEvents。问题是它在初始负载上运行,这会导致所有事件的重复。是否有一种方法可以阻止在日历加载期间调用refetchEvents 切换视图时是否有其他方法强制重新
切换视图时是否有其他方法强制重新蚀刻?听起来是增强fullcalendar库本身的好主意-库可以为“viewChanged”甚至“viewChanged”事件提供回调函数。 这样的东西确实不存在,因为如果需要创建“AJAX深度链接”,还需要知道视图何时发生了更改
更新:如果在添加事件后更改日历的“lazyFetching”选项,会发生什么情况?创建fullcalendar时,每当视图更改时,都会触发viewDisplay方法。从逻辑上讲,您可以将其用作viewChanged事件。例如:
$('#calendar').fullCalendar({
...
viewDisplay: function(view) { alert('viewDisplay(' + view + ')'); }
});
似乎从版本1.6.3
开始,要使用的正确回调是viewRender
$('#calendar').fullCalendar({
...
viewRender: function(view, element) { alert('new view: ' + view.name); }
});
这不是一个完美的主意,只是增加了一个选择
$('.fc-month-button').click(function () {
});
$('.fc-agendaWeek-button').click(function () {
});