我玩fullCalendar,我使用refetchEvents:
$('#calendar').fullCalendar('refetchEvents');
它工作正常,此命令使用回调调用events
方法
events: function (start, end, timezone, callback) { /* ... */ }
但是,它首先从日历中删除所有会议,然后 - 呈现新会议。这种方法会导致所有表格闪烁(与谷歌行为不同)。
有没有其他方法可以在没有明文添加的情况下呈现会议?
似乎我只需要添加使工作过于困难、混乱和不稳定的增量
谢谢
我的建议是先执行 ajax 请求(您最初放置 .fullCalendar('refetchEvents')
的位置),如果成功,则调用 refetchevents。代码将如下所示:
var events = [];
$.get('/events/get', function(result){
events = result;
});
$('#calendar').fullCalendar({
events: function (start, end, timezone, callback) {
callback(events);
}
});
在 ajax 参数中添加以下内容:
async:false,
$.ajax({
url: calendar_url + '&start'+start.unix()+'&end='+end.unix(),
dataType: 'JSON',
async:false,
success: function(response) {
}
})
使用以下方法而不是重新获取事件,使其不会闪烁。
var events = {
url: '/getEVents',
type: 'GET',
}
$('#calendar').fullCalendar('removeEventSource', events);
$('#calendar').fullCalendar('addEventSource', events);