当事件在fullcalendar中可拖动时,我可以将它们拖过开始时间并超过结束时间。这种情况发生在配置了minTime和maxTime以及未配置它们时(即午夜到午夜)。我需要不允许事件被拖过当天的小时边界或配置的时间范围。
我在文档中没有看到有关停止此行为的任何内容。有没有人遇到这个问题并想出一个解决方案,或者有没有人有解决方案来解决这个问题?
答案 0 :(得分:1)
经过一些研究和实验,我发现此问题的解决方案是使用jQuery UI draggable插件中的containment
选项。
要停止问题中描述的行为,请按以下步骤操作:
draggableSlotEvent
。eventElement.draggable({
。containment: ".fc-agenda-body table",
您现在无法将事件拖过小时边界。
答案 1 :(得分:1)
Michael Irigoyen
提供的解决方案在我的情况下不适用于FullCalendar v2.0.0
一周的议程视图。
我进行了以下更改以使其正常工作:
1。对于时间间隔拖动:在议程周视图中不存在.fc-agenda-body
选择器。在draggableSlotEvent
上的eventElement.draggable
功能中,我已将containment
设置为.fc-agenda table
:
function draggableSlotEvent(event, eventElement, timeElement) {
// code
eventElement.draggable({
containment: '.fc-agenda table',
// code
});
}
2。对于时间间隔调整大小:在resizableSlotEvent
的函数eventElement.resizable
中,我已将containment
设置为table.fc-agenda-slots
:
function resizableSlotEvent(event, eventElement, timeElement) {
// code
eventElement.resizable({
containment: 'table.fc-agenda-slots',
// code
});
}
3。日历中的所有表格都不得有保证金底部,否则上述所有内容都将失败。所以,我改变了fullcalendar css:
.fc-view-agendaWeek table {
margin-bottom: 0px !important;
}
上述所有更改都会完美地限制中午或minTime / maxTime之间的时间间隔。
答案 2 :(得分:0)
目前无法实现,需要创建一个新选项。这是问题: http://code.google.com/p/fullcalendar/issues/detail?id=824