Существует, безусловно, лучший способ сделать это, но это то, что я смог придумать в настоящее время. Я хотел бы иметь возможность выполнить это без необходимости зацикливать все события.
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');
}