我正在使用 fullcalendar 允许人们选择多天。如果他们犯了错误,他们可以单击该事件将其删除。
这就是我所在的位置:
var eventArray = new Array();
var cal = $('#new-show-calendar');
cal.fullCalendar({
height: 250
,events: eventArray
,dayClick: function(date, allDay, jsEvent, view) {
var stringDate = date.toString();
e = { title: "Some Title", start: stringDate }
eventArray.push(e);
cal.fullCalendar( 'renderEvent', e );
}
,eventClick: function(event, jsEvent, view) {
eventArray.splice(eventArray.indexOf(event), 1);
cal.fullCalendar( 'removeEvents', event._id );
}
})
这条线给出了半不可预测的结果
cal.fullCalendar( 'removeEvents', event._id );
我已经尝试过 rerenderEvents (它不做任何事情)和其他一些事情。我试图避免清除所有事件,然后出于性能原因单独重新渲染每个事件。
我认为这对于拥有一个本地的、基于数组的数据源而不是其他地方的 json 源有点奇怪。
编辑:只要视图没有改变,这段代码(上面)就可以工作。如果我删除一些东西,然后切换月份,新事件将不再跨视图保留在日历上。
如何从日历中删除事件?