eventResize之后的Fullcalendar事件的自定义内容

时间:2018-01-30 13:49:59

标签: fullcalendar

我尝试在用户调整后调整FullCalendar事件的内容,但我无法弄清楚如何实现这一点,因为eventResizeeventResizeStop都没有得到回调中的元素。

我还试图修改eventResizeStop中的事件并获取eventRender中的值(因为我注意到在调整大小停止后调用了重新渲染)但这不起作用,因为仍然得到“旧”事件内容。

知道如何实现这个目标吗?

$('#calendar').fullCalendar({
     eventRender: function (event, element) {
        console.log(event.something); // still same value
     },
     eventResizeStop: function (event, jsEvent, ui, view) {
         event.something = 'try to push a new value'; // no effect
         $(this).find('.fc-title').replaceWith('something'); // no effect
     },
     eventResize: function (event, delta, revertFunc, jsEvent, ui, view) {
         $(this).find('.fc-title').replaceWith('something'); // no effect
     }
});

我希望实现的目标:

用户修改前

-----------------
| event content |
-------v---------
用户修改事件的长度/持续时间后

-----------------
| event content |
| is now not the|
| same anymore  |
-------v---------

1 个答案:

答案 0 :(得分:2)

我找到了解决方案。在eventResize中修改事件实际上是正确的方法,但在这样做之后,事件应该分别在日历中更新,应该明确地调用更新

 $('#calendar').fullCalendar({
    eventRender: function (event, element) {
        console.log(event.something); 
    },
    eventResize: function (event, delta, revertFunc, jsEvent, ui, view) {
       event.something = 'my new value';
       $("#calendar").fullCalendar('updateEvent', event);
   }
});