我不希望用户能够在我的日历中创建allDay事件。我希望日历通过单击日期将视图从月视图更改为agendaDay视图,但每次单击日期日历时,都会将视图更改为agendaDay,但它会尝试创建allDay事件。
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
dayClick: function(date,allDay, jsEvent, view) {
if (allDay) {
// Clicked on the entire day
$('#calendar').fullCalendar('gotoDate',date)
$('#calendar').fullCalendar('changeView', 'agendaDay')
}
view = $('#calendar').fullCalendar('getView');
},
selectable: function(){
if(view.name=='agendaDay' ){
return true;
}else{
return false;
}
},
selectHelper: true,
select: function(start, end) {
var title = prompt('Event Title:');
var eventData;
if (title) {
eventData = {
title: title,
start: start,
end: end,
};
$('#calendar').fullCalendar('renderEvent', eventData, true);
}
$('#calendar').fullCalendar('unselect');
}
});
答案 0 :(得分:2)
您正在处理dayClick
,selectable
和select
;而这只能通过处理select
:
select: function(start, end, jsEvent, view) {
if (view.name=='month') {
$('#calendar').fullCalendar('changeView', 'agendaDay');
$('#calendar').fullCalendar('gotoDate', start)
} else {
var title = prompt('Event Title:');
var eventData;
if (title) {
eventData = {
title: title,
start: start,
end: end
};
$('#calendar').fullCalendar('renderEvent', eventData, true);
}
}
$('#calendar').fullCalendar('unselect');
}
使用FullCalendar v2.1.1查看http://jsfiddle.net/wijgerden/t81qtupz/的JSFiddle演示;请注意,这仍然允许用户在agendaWeek
和agendaDay
视图上创建全天活动。在month
视图中选择日期会将视图切换为agendaDay
(多选时的第一天),同时仍允许点击事件。