在我的fullcalendar实例(2.6.1)中,我希望防止用户在多天内选择一个事件。我一直在查看文档,但似乎找不到禁用这种行为的选项。我的配置是这样的。
$('#calendar').fullCalendar({
// General display
header: false,
weekends: true,
height: $('#container').height(),
// Views
defaultView: 'agendaWeek',
// Selection
selectable: true,
selectHelper: true,
// Text/Time Customization
lang: 'nl',
columnFormat: {
day: 'D dddd',
week: 'D dddd'
},
// Agenda options
minTime: '07:30:00',
maxTime: '18:30:00',
allDaySlot: false,
slotDuration: '00:30:00',
slotEventOverlap: false,
snapDuration: '00:15:00',
slotLabelFormat: 'H.mm',
slotLabelInterval: "00:30:00",
// Event data
allDayDefault: false,
// Event Dragging & Resizing
editable: true,
dragOpacity: 1,
eventConstraint: {
start: '07:30:00',
end: '18:30:00'
},
});
我希望minTime
和maxTime
能起作用,但显然不是。
我该如何实现这一目标?
提前感谢!
编辑:我找到了一种方法来阻止事件的呈现,使用以下回调:
// Callbacks
select: function( start, end, jsEvent, view) {
// If the selection spans multiple day
if ( ! end.isAfter(start, 'day')) {
window.calendar.fullCalendar('renderEvent', {
start: start,
end: end,
allDay: false
}, true);
}
$('#calendar').fullCalendar('unselect');
}
但是,这并不妨碍您将所选内容一起拖到第二天。
selectConstraint
将有助于防止拖动到不同的日期。下面是您可以参考的示例。
$('#calendar').fullCalendar({页眉:{left:"标题",中心:'',右侧:"},事件:事件,selectConstraint:{//这将停止拖动数天开始:"00:01",结束时间:'23:59',}});
我指的是FullCalendar v2.8.0版本。
使用事件约束:
eventConstraint:{
start: '07:00:00',
end: '22:00:00'
},
https://fullcalendar.io/docs/v3/eventConstraint