使用removeEvents方法删除特定事件
我刚开始使用这个插件,我在删除刚刚创建的事件时遇到了一些麻烦。 我可以在使用eventClick时删除所有事件,但不能在eventClick上删除特定事件。
任何帮助,将不胜感激。 这是我的代码。
$(document).ready(function() { var date = new Date(); var d = date.getDate(); var m = date.getMonth(); var y = date.getFullYear(); var calendar = $('#calendar').fullCalendar({ header: { left: 'prev,next today', center: 'title', right: 'month,agendaWeek,agendaDay' }, selectable: true, selectHelper: true, select: function(start, end, allDay) { var title = prompt('Trade Show Name:'); if (title) { calendar.fullCalendar('renderEvent', { title: title, start: start, end: end, allDay: allDay, id: 12 }, true // make the event "stick" ); $('input[name="startDate"]').val(start); } calendar.fullCalendar('unselect'); }, eventClick: function(calEvent, jsEvent, view) { $('#calendar').fullCalendar('removeEvents', function (calEvent) { return true; });, editable: true }); });
您可以通过两种方式执行此操作:
1)为每个事件设置唯一ID,并将这些ID传递给removeEvents
调用。
eventClick: function (calEvent, jsEvent, view) { $('#calendar').fullCalendar('removeEvents', calEvent._id); }
这里_id
是fullCalendar生成的唯一ID。
2)通过过滤function删除所需的事件。
考虑到你在eventClick
中尝试这样做,我建议你使用第二个。 您的案例如下:
eventClick: function (calEvent, jsEvent, view) { $('#calendar').fullCalendar('removeEvents', function (calEvent) { return true; }); }
这里传递给removeEvents
的filter函数接受您要删除的事件并返回true 。 由于您在eventClick
中执行此eventClick
,因此您只需传递calEvent
。
希望这可以帮助!