2017-04-04 273 views
2

我正在尝试删除正在被点击的事件。如何删除FullCalendar上的事件?

这是我有什么,我不知道

 eventClick: function(calEvent, jsEvent, view) { 

      alert('Event: ' + calEvent.title); 
      alert('Coordinates: ' + jsEvent.pageX + ',' + jsEvent.pageY); 
      alert('View: ' + view.name); 
      alert('This needs to be deleted'); 

     // change the border color just for fun 
     $(this).css('border-color', 'red'); 
     $('#calendar').fullCalendar(
      'removeEvents' 
      [this]); 

    }, 

该解决方案实际上是在这里:https://fullcalendar.io/docs/event_data/removeEvents/ 但我仍然无法跟踪。 请帮忙!

+0

要删除哪个事件? Meybe你想删除元素? –

回答

2

在我的代码删除fullcalendar事件那样的

$('#calendar').fullCalendar('removeEvents' , function(ev){ 
    return (ev._id == calEvent._id); 
}) 
0

嗯,这是一个典型的案例。我不建议在点击时删除一个事件。因为它令人困惑,并且不是非常好的用户体验。人们最终会错误地多次删除事件。

话虽如此,你可以通过简单的步骤实现你所要求的。 你正在用eventClick回拨。并且还用removeEvents方法。但是,如果您查看文档,removeEvents需要删除该事件的id。因此,对于每个事件,您都需要一个唯一的ID。如果有相同ID的相似事件,则所有这些事件都将被删除,其中removeEvents,因此多个名称。您可以设置事件以这种方式

event = { 
    start: "2017-04-06T16:00:00.510Z", 
    end: "2017-04-06T21:00:00.510Z", 
    id: "idForThisEvent", 
    title: "Event 1" 
    } 

然后你在做什么

eventClick: function(calEvent, jsEvent, view) { 
    $('#calendar').fullCalendar('removeEvents', calEvent.id); 
}, 

你必须处理来自后端/存储删除事件的/ etc分开前/呼叫后REMOVEEVENTS。 祝你好运。

相关问题