我很确定这是一个错误。一旦我调用删除“removeEvents”,没有后续的添加(“renderEvent”)工作,那些行为就像没有“粘性”。
如果我执行以下操作:
$("#calendar").fullCalendar( 'renderEvent', newEvent, true);
$("#calendar").fullCalendar( 'removeEvents', 12345);
$("##calendar").fullCalendar( 'renderEvent', newEvent2, true);
事件A或B都不会出现!两个事件都有不同的ID,应该发生的事件是事件A被删除,但事件应该出现B.如果我将单个“removeEvent”取出,则会出现事件A和B(即使删除仅针对事件A的ID)。
即使我使用$("#calendar").fullCalendar( 'rerenderEvents' );
在第4步之后重新渲染事件,仍然不会显示事件B.
更有趣的是,这似乎不仅仅是一个“渲染”问题,因为如果我使用$("#calendar").fullCalendar( 'clientEvents', ...);
拉出所有事件,它不会在返回事件的数组中显示事件A或B,其中因为删除“removeEvent”将允许事件A和B出现在数组中。
解决方案将SEEM在所有添加后删除:
哪个会保留事件B,但在我的应用程序中,我有拖放功能,用户可以随时“添加”新事件!所以我发现当我调用“removeEvent”然后将新事件拖入日历时会使事件的“粘性”消失,因此更改一个月将不会保留该事件。
这是我的代码:
$('#calendar').fullCalendar({
theme: true,
header: {
left: "prev,next today",
center: 'title',
right: "today prev,next"
},
height: 400,
selectable: true,
selectHelper: true,
unselectAuto: false,
select: calendarSelect,
droppable: true,
drop: calendarDrop,
events:getCalendarData,
eventClick:calendarEventClicked
});
var newEvent = {
id: 12345,
period: "Full-day",
title: "Full-day",
start: new Date(2010, 11, 02),
type: "Regular",
billable: true,
className: "",
changedThisSession: true
};
$("#calendar").fullCalendar( 'renderEvent', newEvent, true);
$("#calendar").fullCalendar( 'removeEvents', 12345);
var newEvent2 = {
id: 4433,
period: "Full-day",
title: "Full-day",
start: new Date(2010, 11, 03),
type: "Regular",
billable: true,
className: "",
changedThisSession: true
};
$("#calendar").fullCalendar( 'renderEvent', newEvent2, true);
即使此代码删除ID为12345的事件,也不会显示OTHER事件(id 4433)。删除行...“removeEvents”...导致两个事件都显示出来。
同样,我可以添加新事件,拖动它们等,它的效果很好。一旦“removeEvents”被调用一次,那么事情开始变得很奇怪。
帮助将不胜感激!
-Brian
答案 0 :(得分:1)
我刚刚从1.4.9升级到1.4.10,清除了我的缓存并再次尝试,现在看起来一切正常。
希望就是这样。
-Brian