0

我正在使用 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 源有点奇怪。

编辑:只要视图没有改变,这段代码(上面)就可以工作。如果我删除一些东西,然后切换月份,新事件将不再跨视图保留在日历上。

如何从日历中删除事件?

4

0 回答 0