我使用的是fullCalendar 2.6,我每天只想要一个allday事件。 我用这个:
eventOverlap: false
如果我发布一个事件并在已经发生事件的那一天移动它,它就会起作用:它们不会重叠。 但是,如果我点击已经发生事件的那一天,它会重叠,我会在同一天收到2个事件(或更多)...... 我也在我的select函数中使用它:
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);
}
});
感谢您的帮助!
答案 0 :(得分:0)
好.. selectOverlap设置为“false”是解决方案:) 对于第二个问题,解决方案必须是eventResizeStop但我还没找到它
答案 1 :(得分:0)
试试这个。
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);
}