2017-10-18 54 views
0

我有這樣的代碼:renderEvent沒有呈現新的事件

dayClick: function(date, jsEvent, view) { 

     console.log(moment.utc(date).format()); 
     $('#calendar').fullCalendar('renderEvent', { 
      title: 'sds', 
      start: moment.utc(date).format(), 
      allDay: false, 
      lazyFetching: false 
     }, true); 

    }, 

,新的事件永遠不會顯示。我想創建事件,以便我可以操縱它。我需要它只是爲了表示太空中的時間 - 任何想法爲什麼它不起作用?

+1

@ Adyson的答案是你出的問題和碼是否正確。如果你仍然有問題,也許有什麼相關的,你沒有向我們展示。你在問題的標題中提到了'renderEvent' - 你在代碼中做了些什麼? –

+0

它與'events'有關 - 如果它們產生錯誤,它將不起作用(令人驚訝)。 –

回答

2

看一看http://momentjs.com/docs/#/manipulating/utc/ - 在「UTC」功能不接受的參數。我懷疑你的事件越來越創建,但今天的日期,而不是你點擊的日期。我懷疑你的意思是moment(date).utc(),它會將日期傳入時刻的構造函數並在該日期創建一個時刻。

但是因爲date已經是一個JJ對象(根據https://fullcalendar.io/docs/mouse/dayClick/),所以無論如何直接調用.utc()就可以了,不需要構造函數。在將其傳遞到事件之前,您應該執行date.utc()的設置。

總評:

dayClick: function(date, jsEvent, view) { 
    date.utc(); //set date to utc first 

    $('#calendar').fullCalendar('renderEvent', { 
    title: 'sds', 
    start: date.format(), 
    allDay: false, 
    lazyFetching: false 
    }, true); 
}, 
+0

還是點擊沒事的時候發生 - 不知道有什麼可以阻止它 –

+0

在您的瀏覽器控制檯任何其他錯誤?我的代碼上面,肯定能行 - 見http://jsfiddle.net/sbxpv25p/33/ – ADyson

+1

好吧,現在我明白了我的錯誤。當刷新頁面時,我從錯誤的下拉菜單中選擇錯誤的'事件'源以保持日曆清潔。當我選擇源和事件渲染,然後一切正常。非常感謝! –