如何将完整日历事件限制为仅一天



是否可以限制FullCalendar,以便在创建事件拖动时,事件不会在其他日子发生?

我的意思是:如果我在3月20日09:00开始选择,我希望用户不能选择在3月21日13:00结束的活动。

您可以在日历设置中添加事件约束。

eventConstraint:{
          start: '00:00', // a start time (start of the day in this example)
          end: '24:00', // an end time (end of the day in this example)
        }, 

你可以在这个plunker中复制它。

如果你只想在拖动过程中约束它,我认为你只能使用eventDrop回调。在那里你可以使用revertFunc来恢复拖动&如果moment.startOf('day)不同,则将移动移到上一状态。

类似于:

$('#calendar').fullCalendar({
    events: [
        // events here
    ],
    editable: true,
    eventDrop: function(event, delta, revertFunc) {
        if (!event.start.startOf('day').isSame(event.end.startOf('day'))) {
             revertFunc();
        }
    }
});
$('#calendar').fullCalendar({
events: [
    {
        title  : 'event1',
        start  : '2010-01-01'
    },
    {
        title  : 'event2',
        start  : '2010-01-09T09:30:00',
        end    : '2010-01-09T15:30:00',
    },
    {
        title  : 'event3',
        start  : '2010-01-09T12:30:00',
        allDay : false // will make the time show
    }
]

});

相关内容

  • 没有找到相关文章

最新更新