Il y a certainement une meilleure façon de faire cela, mais c'est ce que j'ai pu trouver pour le moment. J'aimerais pouvoir accomplir cela sans devoir boucler tous les événements.
select: function (newEvent_start, newEvent_end, allDay) {
var okToAdd = true;
$('#calendar').fullCalendar('clientEvents', function (event) {
if ((newEvent_start >= event.start && newEvent_end <= event.end) || // between
(newEvent_start <= event.start && newEvent_end >= event.start) || // starts before, ends during
(newEvent_start >= event.start && newEvent_start <= event.end && newEvent_end >= event.end) // starts during, ends after
)
okToAdd = false;
});
if (okToAdd) {
calendar.fullCalendar('renderEvent',
{
title: 'Title goes here',
start: newEvent_start,
end: newEvent_end,
allDay: allDay
},
true
);
}
calendar.fullCalendar('unselect');
}