Fullcalendar 完整日历:获取;Va.时间未定义“未定义”;尝试为event.end分配时间时
我使用的是FullCalendar,它工作正常。 我允许用户拖动事件,但有时我需要强制事件在特定日期开始。例如,某些事件必须在星期一开始,因此如果用户将其拖到其他工作日,我将强制事件移到上一个星期一 因此,在eventDrop回调中,我有如下内容:Fullcalendar 完整日历:获取;Va.时间未定义“未定义”;尝试为event.end分配时间时,fullcalendar,Fullcalendar,我使用的是FullCalendar,它工作正常。 我允许用户拖动事件,但有时我需要强制事件在特定日期开始。例如,某些事件必须在星期一开始,因此如果用户将其拖到其他工作日,我将强制事件移到上一个星期一 因此,在eventDrop回调中,我有如下内容: jQuery('#calendar').fullCalendar({ ... ... eventDrop: function(event, delta, revertFunc) { if (/*must force new event s
jQuery('#calendar').fullCalendar({
...
...
eventDrop: function(event, delta, revertFunc) {
if (/*must force new event start date*/) {
var duration = event.end.diff(event.start, 'd');
event.start = moment('2015-07-01');
event.end = moment('2015-07-01').add(duration, 'd');
}
}
})
一些人解释说:
- 我必须计算原始的持续时间,因为当我更改 开始日期,Fullcalendar假定结束日期相同并发生更改 事件持续时间相应缩短。所以它迫使我指定一个新的终点 日期(还有其他方法吗?)
- 将新日期指定给event.start可以正常工作
- 将新日期指定给event.end始终返回:
提前谢谢你在这方面帮助我 只需修改现有的
力矩
,如下所示:
eventDrop: function (event) {
event.start.day(1); //Move the startdate to day 1 (Monday, 0 = Sunday)
event.end.day(1); //Also move the enddate to Monday
}
我不确定是什么原因导致了这个错误。看起来这与在
事件.start
或事件.end
中设置一个新的momentjs对象有关。非常感谢您为我指明了正确的方向。因为我必须计算新的开始日期和结束日期,所以我使用一个时刻来计算并确定它的dayOfYear()。然后我用event.start.dayOfYear()和event.end.dayOfYear()更新日期,问题就解决了。出于某种原因,momentjs没有一个简单的方法来更新它的日期(类似于moment.date('YYYY-MM-DD'))@AlexandrePaulo我希望它能解决您的问题,如果您需要更多帮助,请告诉我;)我有一个类似的问题,获得ab。时间是未定义的
。我还发现我的行event.end=moment(event.start).add(2,'hours')代码>导致此错误。使用moment.js更改事件对象的时间会从对象中删除一些重要变量!之前:Object{{isammentobject:true、\isUTC:true、\u offset:0、\u pf:Object、\u locale:Object、\u d:Date 2016-05-06T00:00:00.000Z、\u ambigTime:true、\u ambigZone:true、\u fullCalendar:true}
之后缺少:\u ambigTime:true、\u ambigZone:true、\u fullCalendar:true
。