修复fullcalendar中的移动日选择
我有一个使用fullcalendar的日历应用程序。 我实际上使用两个实例,最上面是一个月(或可选的周)日历视图,下面是所选日期的简单日视图(列表)。 在月视图中,我真的只想点击当天“选择”一整天。 此外,默认的longpress看起来很笨重,所以我将longPressDelay设置为1(ms)。 我使用eventLimitClick和eventClick的回调来选择日期,以防用户点击那里而不是白天。 这似乎在桌面上工作正常,但在移动设备上它选择一天只有几分之一秒然后由于某种原因立即取消选择。 有办法阻止这个吗? 此外,我使用选择约束,因此您一次只能选择一天。 我尝试使用“unselectAuto:false”,但这导致了奇怪的行为,即使不再选择,之前选择的天数仍保持蓝色,并且第二天需要两到三次点击才能选择…不确定原因。
这是我的coffeescript初始化代码,删除了一些无关的东西。
$('#calendar').fullCalendar height: 'auto' nowIndicator: true defaultView: gon.default_view header: '' selectable: true selectHelper: true longPressDelay: 1 selectConstraint: start: '00:00' end: '24:00' defaultTimedEventDuration: '00:30:00' businessHours: { start: gon.business_hours_start, end: gon.business_hours_stop, dow: [0, 1, 2, 3, 4, 5, 6] } editable: true eventLimit: true eventLimitClick: (cellInfo) -> $('#calendar-day').fullCalendar('gotoDate', cellInfo.date) $('#calendar').fullCalendar('select', cellInfo.date) eventSources: gon.event_sources eventClick: (e) -> $('#calendar').fullCalendar('select', e.start) $('#calendar-day').fullCalendar('gotoDate', e.start) select: (start, end) -> $('#calendar-day').fullCalendar('gotoDate', start)
更新:
在某些方面,我只是希望月视图像一个美化的日期选择器(la jquery datepicker)一样工作,至少在移动设备上,因为无论如何都难以操纵那里的事件。
我现在使用的是禁用库中的一些移动内容(使getEvIsTouch始终返回false)然后我在移动设备上禁用“可编辑”选项(通过查看用户代理)。