我正在使用全日历。我有一个自定义视图,但我不希望用户能够在此视图上选择时间范围。
selectable: true,
defaultView: 'multiColAgendaDay',
events: '/events.json',
views: {
multiColAgendaDay:
{
type: 'multiColAgenda',
duration: { days: 1 },
numColumns: gon.driver_num,
columnHeaders: gon.drivers_name,
buttonText: 'drivers'
// ,
}
},
我试图通过添加签入选择来解决这个问题
select: function (start, end, jsEvent, view) {
if (view.name === 'multiColAgendaDay'){
calendar.fullCalendar('unselect');
alert("You can create event in week and day view.");
return;
}
$.getScript('/events/new', function () {
$('#event_date_range').val(moment(start).format("MM/DD/YYYY HH:mm") + ' - ' + moment(end).format("MM/DD/YYYY HH:mm"))
date_range_picker();
$('.start_hidden').val(moment(start).format('YYYY-MM-DD HH:mm'));
$('.end_hidden').val(moment(end).format('YYYY-MM-DD HH:mm'));
});
calendar.fullCalendar('unselect');
},
我想知道其他方法。我希望有一种方法可以在特定视图中将可选设置为 false。
可以将selectable: false
添加到视图定义中(与向其添加其他属性的方式相同(。 例如
multiColAgendaDay:
{
type: 'multiColAgenda',
duration: { days: 1 },
numColumns: gon.driver_num,
columnHeaders: gon.drivers_name,
buttonText: 'drivers',
selectable: false
}
使用此视图时,这将覆盖selectable
的顶级设置。有关文档,请参阅 https://fullcalendar.io/docs/v3/view-specific-options#v2。
只要您使用的是 fullCalendar 2.4 或更高版本,这应该就可以了。