【发布时间】:2018-03-02 15:30:25
【问题描述】:
使用 Fullcalender.js,我在日历中显示事件。 我添加了 dayclick 和 event click 功能。但是当我在 dayClick() 中使用 date.format() 时,它显示错误 date.Format() 不是函数。 我将 fullcalendar 升级到 v3.5.1 ,之后我可以很好地获得 dayClick 功能。但是即使我没有给它任何标题,事件也会将开始时间显示为默认值。
$(document).ready(function() {
$('#ConfCalendarBlock').fullCalendar({
height:400,
editable: true,
events: modJs.getConfJsonUrl(),
loading: function(bool) {
if (bool) $('#loadingConfCalendarBlock').show();
else $('#loadingConfCalendarBlock').hide();
},
dayClick: function (date, jsEvent, view) {
modJs.getdayclick(date.format());
},
eventClick: function(calEvent, jsEvent, view) {
modJs.getEventClcik(calEvent.id);
},
});
});
在我的 php 代码中
public function listToEvent($book){
$event = array();
$starttime = date("g:i a", strtotime($book->from_date));
$endtime = date("g:i a", strtotime($book->to_date));
$event['id'] = $book->id;
$event['title'] = $starttime."-".$endtime. " (".$book->type.")";
$event['start'] = $book->from_date;
$event['end'] = $book->to_date;
$eventBackgroundColor = "";
$event['color'] = $eventBackgroundColor;
$event['backgroundColor'] = $eventBackgroundColor;
$event['textColor'] = "#FFF";
return $event;
}
日历将事件显示为
9:15a 上午 9:15 - 10:30(会议)
开始时间显示两次,但如果我参考旧版本的日历,它会显示为我想要的。 即使我没有给活动起任何标题,然后日历在蓝色活动栏中显示开始时间为 9:15a。
【问题讨论】:
-
"当我在 dayClick () 中使用 date.format() 时,它显示错误 date.Format() 不是函数。我将我的 fullcalendar 升级到 v3.5.1,之后我可以很好地获得 dayClick 功能。” 你还没有说你的旧版本是什么,但在某些时候 fullCalendar 停止在 dayClick 作为 JS Date 对象发送
date并改用momentJS。 format() 是 momentJS 的函数,而不是 Date。所以这就是你遇到这种情况的原因。