完整日历:尝试将时刻分配给 event.end 时"Va.time is undefined"



我正在使用FullCalendar,它运行良好。我允许用户拖动事件,但有时我需要强制事件在特定日期开始。例如,有些事件必须在星期一开始,所以如果用户将其拖到另一个工作日,我将强制事件移到上一个星期一。

所以,在eventDrop回调中,我有这样的东西:

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指定一个新日期。end总是返回:

类型错误:Va.time未定义

我是遗漏了什么,还是把事情搞得过于复杂了?这个错误是错误吗?

提前感谢你在这方面对我的帮助!

只需像这样修改现有的moment

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
}

jsFiddle

我不确定是什么原因导致了这个错误。这似乎与在event.startevent.end中设置一个新的momentjs对象有关。

相关内容

  • 没有找到相关文章

最新更新