2012-11-29 856 views
0

我正在使用與jQuery Mobile集成的Fullcalendar。當我在pageshow事件試圖add new events動態使用以下的方法會引起一個JavaScript exeption如下FullCalendar重新渲染事件

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 
      }); 



}); 
+1

檢查文檔:renderEvent使用一個事件對象,而不是數組。 – MaxD

回答

5

不是

.fullcalendar('renderEvent', []); 

.fullCalendar('rerenderEvents'); 

你試過...?

.fullCalendar('addEventSource', NewEvents); 
+0

海報試圖「引用」OP的代碼,並錯誤地引用它在這個答案中的第二行應該是「rerenderEvents」而不是「renderEvents」,不幸的是,編輯需要改變6個字符:) – kralco626

+0

@ kralco626:添加了一個省略號,強制編輯。 – bergie3000