当allDay为真时,fullcalendar返回事件结束null
fullcalendar return event end null when allDay is true
我不知道这是一个功能还是一个bug。但是如果allDay为真,则事件结束值设置为空。这是更新事件的函数:
change: function (eventModel) {
var currEvId = eventModel.get('_id');
var fcEvent = $("#calendar").fullCalendar('clientEvents', currEvId)[0] || {};
console.log("end before update : " + fcEvent.end);
fcEvent.title = alvEventModel.get("title");
fcEvent.start = new Date(alvEventModel.get("start"));
fcEvent.end = new Date(alvEventModel.get("end"));
fcEvent.allDay = alvEventModel.get("allDay"); //true or false
this.el.fullCalendar('updateEvent', fcEvent);
console.log("start: " + fcEvent.start);
console.log("end: " + fcEvent.end);
},
控制台显示
end before update : 1404896400000
end after update: null
fullcalendar属性forceEventDuration被设置为true
this.$el.fullCalendar({
lang: 'sv',
header: {
left: 'prev,next, today',
center: 'title',
right: 'month,agendaWeek,agendaDay',
ignoreTimezone: false
},
forceEventDuration:true,
select: this.select,
selectable: true,
selectHelper: true,
editable: true,
disableDragging: true,
disableResizing: true,
aspectRatio: 2.5,
height: 600,
weekNumbers: true,
...
})
控制台显示
end before update : 1404864000000
end after update: 1404813300000
在这种情况下,事件的呈现是一天。即使在将allDay更新为false之后,它仍然显示为一天的事件,直到从服务器重新加载事件。我认为标准的行为是allDay必须有一个开始和结束的日期。但我不确定宣布结束日期为null的意图。也许我误解了这种行为的美妙之处。我不知道如何利用我的目标。我需要一个像其他日历一样的结束日期。
http://jsfiddle.net/Mr_Vertigo/k3RZX/1/版本号是v2.0.2
这个问题不是因为allday设置为true。Fullcalendar有一个问题,如果开始日期和结束日期相同,它只是使结束日期为空。
如果事件的结束日期与开始日期相同,FullCalendar认为它的持续时间为1天(假设结束时间为空白),因此它是相同的。它倾向于存储更少的数据。所以要仔细检查开始日期和结束日期是否相同。
但是你可以简单地这样做:
eventClick: function(event) {
var start = event.start;
var end = event.end || start;
}
查看以下链接
https://code.google.com/p/fullcalendar/issues/detail?id=1014不需要设置,因为您有defaultAllDayEventDuration
选项。forceEventDuration
也不适用于全天事件(见这里)
如果您不希望end为null,则只需手动设置。
FullCalendar总是在allDay更改时将end设置为null,正如您在文档中看到的那样。第1886行
if (newAllDay != oldAllDay) {
// if allDay has changed, always throw away the end
clearEnd = true;
}
相关文章:
- 从控制器返回后Ajax启动事件激发
- 如何获取事件的返回值
- 为什么我的on change事件在ie9上返回空
- Jquery contextenu事件总是返回e.which作为0
- 当使用“”时,事件数据在jquery中返回空对象;on()”;
- 如何在提示下获取和使用从window.onbeforeunload事件的返回语句显示的值
- 访问新创建的Facebook事件返回false
- 为什么asp:LinkButton服务器端事件没有'当clientClick返回true时,t激发
- 为什么不是't单击事件中返回的数组的总和
- Google Map KML层占位符点击事件返回ZERO_RESULTS
- 事件源->服务器以批量形式返回事件流,而不是以块形式返回
- CoffeeScript - 这个奇怪的“返回”事件是什么意思
- 如何返回事件侦听器调用的函数的值
- 多个 document.createElement 在一个函数中返回事件侦听器
- 锤子.js 2.0 使用 jquery 插件时不返回事件选项
- 计算并返回事件处理函数的值
- 当allDay为真时,fullcalendar返回事件结束null
- 只有当模态可见时,才让ESC触发返回事件
- 为什么.next()返回事件's对象本身?
- 如何检测该函数是否仍在运行?或者我可以钩入返回事件