切换fullcalendar视图时重新获取事件
我在日历中使用了3个视图:month,agendaWeek和agendaDay。 添加事件后,我调用refetchEvents来显示新事件。 如果我从agendaweek或agendaDay添加活动,那么重新获取当然会抓住一周或一天的活动。 如果我然后切换到月视图,我只有一周或一天的事件。
我试着在viewDisplay上添加一个refetchEvents。 问题在于它在初始加载时运行,导致所有事件的重复。 有没有办法阻止在日历加载过程中调用refetchEvents?
切换视图时是否有其他方式强制重新提取?
听起来像是一个增强fullcalendar库本身的好主意 - 库可以为“viewChanged”甚至“viewChanging”事件提供回调函数。 这种事情真的很缺失,因为如果你需要创建“AJAX深层链接”,你还需要知道视图何时发生变化。
更新:如果您在添加活动后更改日历的“lazyFetching”选项http://arshaw.com/fullcalendar/docs/event_data/lazyFetching/,会发生什么情况?
在创建fullcalendar时,viewDisplay方法会在视图更改时触发。 从逻辑上讲,您可以将其用作viewChanged事件。 例如:
$('#calendar').fullCalendar({
...
viewDisplay: function(view) { alert('viewDisplay(' + view + ')'); }
});
看来,从版本1.6.3
,正确的回调viewRender
是viewRender
$('#calendar').fullCalendar({
...
viewRender: function(view, element) { alert('new view: ' + view.name); }
});
不是一个完美的想法,但只是增加一个替代方案...
$('.fc-month-button').click(function () {
});
$('.fc-agendaWeek-button').click(function () {
});
链接地址: http://www.djcxy.com/p/81219.html