【问题标题】:FullCalendar Re-Render EventsFullCalendar 重新渲染事件
【发布时间】:2012-11-29 04:52:31
【问题描述】:

我正在使用与 jQuery Mobile 集成的 Fullcalendar。当我尝试在 pageshow 事件期间动态使用以下方法 add new events 时,它会导致 JavaScript 异常,如下所示

Uncaught TypeError: Cannot call method 'empty' of undefined

我的 JavaScript 代码

    $('#myCalendar').live('pageshow',function(event){
            Newevents = [
                    {
                        title  : 'event1',
                        start  : '2012-11-24 01:00',
                        color:'red'

                    },
                    {
                        title  : 'event2',
                        start  : '2012-11-25',
                        end    : '2012-11-27'
                    },
                    {
                        title  : 'event3',
                        start  : '2012-11-28 12:30:00',
                        allDay : false // will make the time show
                    },
                    {
                        title  : 'event4',
                        start  : '2012-11-29 01:30:00',
                        allDay : false // will make the time show
                    }
                ];
        $('#calendar').fullCalendar('renderEvent',Newevents);
        $('#calendar').fullCalendar('rerenderEvents'); 

    });

$('#myCalendar').live('pagecreate',function(event){


    $('#calendar').fullCalendar({
            // put your options and callbacks here
            header: {
                    left:   '',
                    center: '',
                    right:  ''
                    },
            firstDay :1,
            viewDisplay: function(view) {
                $('#calendarLabel').html(view.title);
            },
             events:[
                {
                    title  : 'event1',
                    start  : '2012-11-21 01:00',
                    end:'2012-11-24 02:00',
                    color:'red'

                },
                {
                    title  : 'event2',
                    start  : '2012-11-05',
                    end    : '2012-11-07'
                },
                {
                    title  : 'event3',
                    start  : '2012-11-09 12:30:00',
                    allDay : false // will make the time show
                },
                {
                    title  : 'event4',
                    start  : '2012-11-09 01:30:00',
                    allDay : false // will make the time show
                }
            ],
            eventClick: function(calEvent, jsEvent, view) {
                alert('Event: ' + calEvent.title);
            },
            dayClick: myDayClick,
            height: 999999999
           });



});

【问题讨论】:

  • 查看文档:renderEvent 使用一个事件对象,而不是数组。

标签: javascript jquery jquery-mobile fullcalendar


【解决方案1】:

而不是

.fullcalendar( 'renderEvent', []);

.fullCalendar( 'rerenderEvents'); 

你试过吗……?

.fullCalendar( 'addEventSource', NewEvents );

【讨论】:

  • 海报试图“引用” OP 的代码并错误引用它在这个答案中的第二行应该是“rerenderEvents”而不是“renderEvents”不幸的是编辑需要更改 6 个字符:)
  • @kralco626:添加省略号并删除句点以强制编辑。
猜你喜欢
  • 1970-01-01
  • 2012-05-22
  • 2013-05-26
  • 1970-01-01
  • 2015-08-07
  • 2022-01-03
  • 2017-05-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多