我使用的是jquery Full Calendar,遇到了这个问题。我有两个日历在同一视图中。当我点击左侧日历中的一个事件时,它应该会消失,同时,相同的事件也会出现在右侧日历中。
该问题是由事件对象中的源属性引起的。
eventClick: function(calEvent, jsEvent, view) {
var a = {
"id": 5,
"color": "#2CC870",
"title": "work",
"name": "Helen",
"start": "2016-07-28T14:37:00.000Z",
"end": "2016-07-28T16:37:00.000Z",
"_id": "5",
"className": [],
"allDay": false,
"_allDay": false,
"_start": "2016-07-28T14:37:00.000Z",
"_end": "2016-07-28T16:37:00.000Z",
// "source": {
// "url": "/requests/employer",
// "className": [],
// "_fetchId": 1,
// "_status": "resolved"
// },
}
$('#js-request-employer-calendar').fullCalendar('removeEvents',a.id);
$('#js-request-employee-calendar').fullCalendar('renderEvent',a);
console.log(calEvent);
console.log(jsEvent);
console.log(view);
// change the border color just for fun
$(this).css('border-color', 'red');
}
如果在事件对象中保留源属性,则不会显示新的事件。如果我把它藏起来,它就会起作用。
谢谢你的帮助!!
这是预期的行为。源属性必须自动填充。
如果您试图将事件添加到特定源,这将无法修复,请参阅错误跟踪器的详细信息:https://github.com/fullcalendar/fullcalendar/issues/2537
唯一的其他解决方案是删除并立即添加回事件源。