使用以下功能喂养日历:
$('#calendar').fullCalendar( {
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay' },
editable: true,
eventLimit: true,
events: function(callback) {
$.ajax({
url: '/appointments.json',
dataType: 'json',
success: function(doc) {
var events = [];
$(doc).find('event').each(function() {
events.push({
title: $(this).attr('title'),
start: $(this).attr('start') // will be parsed
});
});
callback(events);
}
});
但我一直收到这个错误:
object is not a function //callback(events) line
在浏览器的js控制台上。知道问题可能是什么吗?
答案 0 :(得分:4)
假设您正在使用FullCalendar 2. *,如documentation中所述,events
的签名为
功能(开始,结束,时区,回调){}
名称为callback
的参数实际上是start
,它是momentjs
个对象。要解决您的问题,您必须将参数添加到您的函数中,因此您的代码将是:
events: function( start, end, timezone, callback ) {
只要events
(传递给callback
)具有documentation中定义的正确格式和参数,此功能就会有效。
编辑:
如果要根据json属性的值设置每个事件的背景颜色,则应使用eventRender
。
检查此jsfiddle,其中在事件呈现时设置每个事件的背景。
正如在jsfiddle中所证明的那样,你可以根据json提供的值有条件地改变背景。