JS Fullcalendar如何禁用allDay事件
JS Fullcalendar how to disable allDay events?
我不希望用户能够在我的日历中创建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');
}
});
您正在处理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');
}
请参阅http://jsfiddle.net/wijgerden/t81qtupz/用于使用FullCalendar v2.1.1的JSFiddle演示;请注意,这仍然允许用户在agendaWeek
和agendaDay
视图上创建全天事件。在month
视图中,选择日期会将视图切换到agendaDay
(多选时为第一天),同时仍允许单击事件。
相关文章:
- 分派点击事件并保留击键修饰符
- 模糊事件的Javascript测试
- keyup事件处理程序更改焦点不适用于快速键入
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 如何使Javascript动态html表及其上的事件
- 使用类从一个标记中双击事件
- 如何在未直接触发的情况下停止事件
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- 对iPad上的点击事件反应缓慢
- 事件和状态
- Fancybox是否将Click事件静音
- 主干-不管怎样,检查事件以前是否绑定过
- 从控制器返回后Ajax启动事件激发
- 如何从画布上的某个移动事件中获取X和Y
- Jquery:未触发select事件
- JsFiddle上的鼠标事件不起作用
- 只覆盖箭头键滚动事件
- $window.ga在AngularJS事件中未定义
- JS Fullcalendar如何禁用allDay事件
- 当allDay为真时,fullcalendar返回事件结束null