fullcalendar.io在动态事件上删除EventSource

fullcalendar.io在动态事件上删除EventSource,fullcalendar,Fullcalendar,我将事件源动态添加到fullcalendar对象(addEventSource) 我不明白如何引用这些事件源以使用removeEventSource删除它们 我举了一个例子: calendar=jQuery(“#calendar”).fullCalendar(); 事件计数=0; jQuery(document).on(“click”,“.add_random_event”,函数()){ 事件计数++; var json_source=[{title:'event to remove',sta

我将事件源动态添加到fullcalendar对象(addEventSource)

我不明白如何引用这些事件源以使用removeEventSource删除它们

我举了一个例子:

calendar=jQuery(“#calendar”).fullCalendar();
事件计数=0;
jQuery(document).on(“click”,“.add_random_event”,函数()){
事件计数++;
var json_source=[{title:'event to remove',start:'2015-11-04'}];
calendar.fullCalendar('addEventSource',json_source);
jQuery(“删除事件”+事件计数+”
”)。附加到(“事件删除”); }); jQuery(document).on(“click”,“.remove\u event\u source”,函数()){ calendar.fullCalendar(“removeEventSource”,jQuery(this.attr)(“事件计数”); log(“试图删除事件”;+jQuery(this.attr(“事件计数”)); });

我已经阅读了此解决方案,但不确定如何应用它:

要删除事件,您需要一个源。源可能是提供有关事件的某些数据的对象

因此,在您的例子中,我向事件添加了一个类名,事件将由该类名引用

calendar = jQuery("#calendar").fullCalendar();

event_count = 0;
var json_source = [ { title  : 'event to remove', start  : '2015-11-04', className: 'test' } ];
jQuery(document).on("click", ".add_random_event", function() {
event_count++;   
calendar.fullCalendar('addEventSource', json_source);
jQuery("<div class='remove_event_source' event_count='" + event_count + "'>Remove Event " + event_count + "</div><br>").appendTo("#event_removal");

});

jQuery(document).on("click", ".remove_event_source", function() {
calendar.fullCalendar("removeEventSource", json_source);
console.log("Tried to remove event #" + jQuery(this).attr("event_count"));                
});
calendar=jQuery(“#calendar”).fullCalendar();
事件计数=0;
var json_source=[{title:'event to remove',start:'2015-11-04',className:'test'}];
jQuery(document).on(“click”,“.add_random_event”,函数()){
事件计数++;
calendar.fullCalendar('addEventSource',json_source);
jQuery(“删除事件”+事件计数+”
”)。附加到(“事件删除”); }); jQuery(document).on(“click”,“.remove\u event\u source”,函数()){ calendar.fullCalendar(“removeEventSource”,json_源代码); log(“试图删除事件”;+jQuery(this.attr(“事件计数”)); });
更新的小提琴在这里


如果将源对象作为数据属性附加到“删除此源”按钮,则稍后可以将该数据属性用作removeEventSource方法中的源

在addEventSource期间:

jQuery("<div class='remove_event_source' event_count='" + event_count + "'>Remove Event " + event_count + "</div><br>").data('source', json_source).appendTo("#event_removal");
calendar.fullCalendar("removeEventSource", jQuery(this).data('source'));

我还做了一些更改,以确保您的源对象是唯一的,并更新了JSFIDLE:

,它只删除了每个源(如果多次单击“添加事件”,您就会明白我的意思。)我想删除单个源。谢谢。。。这正是我想要的。还帮助我了解removeEventSource正在做什么。
calendar.fullCalendar("removeEventSource", jQuery(this).data('source'));