我有一个点击事件,在里面我正在重新加载fullcalendar。但是在重新加载之后我想隐藏执行click事件的当前元素。但不知何故它不起作用。以下是我的代码。
$(document).on("click", 'a.btnExpandCollapseBook', function (e) {
$('#calendar2').fullCalendar('destroy');
calendarOptions.events = tempSourcearr; // assigning the events
$('#calendar2').fullCalendar(calendarOptions);
$(this).hide();// This is not working...
});
答案 0 :(得分:1)
您可以向事件添加自定义属性,例如'hidden'true / false,并使用eventRender根据'hidden'属性控制可见性
var calendarOptions = {
defaultDate: '2015-12-01',
events: [{
id: 1,
start: '2015-12-03',
end: '2015-12-07',
title: 'Event 1',
hidden: false
}, {
id: 2,
start: '2015-12-13',
end: '2015-12-17',
title: 'Event 2',
hidden: false
}],
eventRender: function(event, element, view) {
return !event.hidden;
},
eventClick: function(event, jsEvent, view) {
event.hidden = true;
calendarOptions.events = $('#calendar').fullCalendar('clientEvents');
$('#calendar').fullCalendar('destroy');
$('#calendar').fullCalendar(calendarOptions);
}
};
$('#calendar').fullCalendar(calendarOptions);
答案 1 :(得分:0)
感谢每一个人, 我找到了替代解决方案,如下所示。
$.each($('#calendar2').fullCalendar('clientEvents'), function (i, item) {
$('#calendar2').fullCalendar('removeEvents', item.id);
}); // removes the event one by one
$('#calendar2').fullCalendar('addEventSource', tempSourcearr); // assign the new data source.
答案 2 :(得分:0)
用于销毁用途:
$('#calendar2').fullCalendar('destroy');