我使用fullCalendar 2.6,每天只想要一个全天事件。我使用这个:
eventOverlap: false
如果我把一个事件放在一个已经有事件的日子里,它会起作用:它们不会重叠。但是,如果我点击已经有事件的一天,它会重叠,并且我会在同一日期收到两个(或更多)事件。。。我也在我的选择功能上使用这个:
overlap: false
它不起作用。。
我能做什么?知道吗?
另一个问题是,当我使用ajax发送开始/结束日期时,它只在我点击添加事件时有效,但当我将光标放在事件边缘以更改其大小时,它不起作用。。。
我的代码:
function renderCalendar() {
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,basicWeek,basicDay',
},
defaultDate: dateNow,
defaultView: 'month',
lang: 'fr',
height: 'auto',
editable: true,
allDaySlot: true,
weekNumbers: false,
timeFormat: 'H:mm',
slotEventOverlap: false,
weekends: true,
selectable: true,
selectHelper: true,
eventOverlap: false,
select: function(start, end) {
var title = 'Occupé';
var eventData;
if (title) {
eventData = {
title: title,
start: start,
end: end,
allDay: true,
overlap: false,
color: '#bf0000',
textColor: '#ffffff',
};
$('#calendar').fullCalendar('renderEvent', eventData, true);
}
$('#calendar').fullCalendar('unselect');
alert(start);
alert(end);
}
});
谢谢你的帮助!
嗯。。selectOverlap设置为"false"是解决方案:)对于第二个问题,解决方案必须是eventResizeStop,但我还没有找到它
试试这个。
select: function(start, end) {
var title = 'Occupé';
var eventData;
var sameDayEvents = $('#calendar').fullCalendar( 'clientEvents' ,function(event) {
if (event.start.format('YYYY-mm-dd') == start.format('YYYY-mm-dd')) {
return true;
} else {
return false;
}
});
if (!sameDayEvents.length && title) {
eventData = {
title: title,
start: start,
end: end,
allDay: true,
overlap: false,
color: '#bf0000',
textColor: '#ffffff',
};
$('#calendar').fullCalendar('renderEvent', eventData, true);
}
$('#calendar').fullCalendar('unselect');
alert(start);
alert(end);
}