Gar*_*son 5 javascript jquery fullcalendar
我使用 fullCalendar月视图创建了一个月历。
在我的日历上,我每天只显示一个事件。此事件用于显示用户的状态(可用、不可用、忙...)
因为我每天总是有 1 个事件,所以我设置eventLimit为 true 以避免多个事件,并且因为这个事件大约是一整天,我还设置editable为 false 以防止事件的拖放。
这是我的代码:
$('#calendar').fullCalendar({
editable: false, // Prevent event drag & drop
events: '/json/calendar', // Get all events using a json feed
selectable: true,
eventLimit: true, // Only 1 event per day
header: {
left: 'prev,next',
center: 'title',
right: 'today'
},
select: function(start, end) {
window.location.hash = '#oModal-calendar'; // Display some popup with a form
end.subtract(1, 'days');
$('#checkboxButton').data('start', start);
$('#checkboxButton').data('end', end);
$('#calendar').fullCalendar('unselect');
}
});
Run Code Online (Sandbox Code Playgroud)
我希望我的用户能够直接从日历中选择日期,所以我selectable: true在日历的选项中进行了设置。但是,我收到很多反馈说“它没有用”。
经过一番调查,我发现用户经常点击事件块而不是当天。
由于默认情况下事件是可拖动的,因此单击事件不会触发选择,并且因为我已设置editable为 false 它不再执行任何操作。
这种组合导致我的用户认为存在错误。
编辑:这是一个基于完整日历示例和我的代码的jsfiddle
我终于找到了解决方案。
FullCalendar事件的点击绑定到css类fc-day-grid-event。
可以用一行 css 简单地忽略它pointer-events: none;。
.fc-day-grid-event {
pointer-events: none;
}
Run Code Online (Sandbox Code Playgroud)
这是更新的Jsfiddle。