2016-07-27 71 views
1

我正在使用jquery完整日曆並遇到此問題。我在同一視圖中有兩個日曆。當我點擊左側日曆中的一個事件時,它應該消失,同時,相同的事件會出現在正確的日曆中。事件對象中的源屬性導致呈現失敗

該問題是由事件對象中的源屬性引起的。

eventClick: function(calEvent, jsEvent, view) { 
    var a = { 
       "id": 5, 
       "color": "#2CC870", 
       "title": "work", 
       "name": "Helen", 
       "start": "2016-07-28T14:37:00.000Z", 
       "end": "2016-07-28T16:37:00.000Z", 
       "_id": "5", 
       "className": [], 
       "allDay": false, 
       "_allDay": false, 
       "_start": "2016-07-28T14:37:00.000Z", 
       "_end": "2016-07-28T16:37:00.000Z", 
       // "source": { 
       // "url": "/requests/employer", 
       // "className": [], 
       // "_fetchId": 1, 
       // "_status": "resolved" 
       // }, 
      } 

    $('#js-request-employer-calendar').fullCalendar('removeEvents',a.id); 
    $('#js-request-employee-calendar').fullCalendar('renderEvent',a); 

    console.log(calEvent); 
    console.log(jsEvent); 
    console.log(view); 

    // change the border color just for fun 
    $(this).css('border-color', 'red'); 

} 

如果我將source屬性保留在事件對象中,則新事件不會顯示出來。如果我把它藏起來,它就會起作用。

感謝您的幫助!

回答

1

這是預期的行爲。源屬性必須自動填充。

如果你想將事件添加到特定的來源,這將不會是固定的,看到的bug跟蹤系統的詳細信息:https://github.com/fullcalendar/fullcalendar/issues/2537

其他唯一的解決辦法是刪除並立即重新添加您的事件源。

+0

所以你說,因爲它必須自動填充,具有源屬性的事件對象不能只是從一個日曆轉移到另一個?我最終在轉移之前使用delete刪除了源屬性,並且它工作正常。但很高興知道爲什麼這不起作用。謝謝! – whales

+0

等待,您是否嘗試過使用clientEvents方法獲取客戶端事件,或僅使用此函數中提供的calEvent?看到這個演示 - 事件被複制並移動到+3天(儘管在同一日曆中)。 http://plnkr.co/edit/lDHhdkGWyhE9yR4BHtzy?p=preview //或另一個事件鏈接點擊:http://plnkr.co/edit/N1Qjg6dkVQPqwiUnP3Bn?p=preview – K48

+0

是的,我認爲這個例子只是使用了不同的方式來獲取事件對象。但不知道它會在另一個日曆中工作。謝謝您的幫助。 – whales