Fullcalendar会阻止第二天的选择

时间:2016-04-06 08:34:15

标签: fullcalendar

在我的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'
    },


});

我希望minTimemaxTime可以做到这一点,但显然不是。

我将如何实现这一目标?

提前致谢!

修改 我找到了一种方法来阻止事件的呈现,具有以下回调:

// 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');
}

但是,这并不妨碍您将选区一起拖到第二天。

2 个答案:

答案 0 :(得分:1)

selectConstraint有助于防止拖到不同的日期。 以下是您可以参考的示例。

  

$( '#日历')。fullCalendar({               标题:{                   左:'标题',                   中央: '',                   对: ''               },          事件:事件,          selectConstraint:{//这将停止拖动多天                   开始:'00:01',                   结束:'23:59',               }       });

我指的是FullCalendar v2.8.0版本。

答案 1 :(得分:0)

使用 eventConstraint

eventConstraint:{
                start: '07:00:00',
                end: '22:00:00'
            },

https://fullcalendar.io/docs/v3/eventConstraint