fullCalendar自定义事件函数不会引发函数错误



im为日历提供以下功能:

$('#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控制台上。知道可能是什么问题吗?

假设您使用的是FullCalendar 2.*,如文档中所述,events的签名是

函数(开始、结束、时区、回调){}

名称为callback的参数实际上是start,它是一个momentjs对象。为了解决您的问题,您必须将参数添加到您的函数中,因此您的代码将是:

events: function( start, end, timezone, callback ) {

只要您的events(传递给callback)具有文档中定义的正确格式和参数,这将起作用。

编辑:

如果您想根据json属性上的值来设置每个事件的背景颜色,那么应该使用eventRender。选中这个jsfiddle,当事件渲染时,每个事件的背景都设置在这里。

正如jsfiddle中所展示的,您可以根据json提供的值有条件地更改背景。

相关内容

  • 没有找到相关文章

最新更新