我尝试在用户调整后调整FullCalendar事件的内容,但我无法弄清楚如何实现这一点,因为eventResize
和eventResizeStop
都没有得到回调中的元素。
我还试图修改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---------
答案 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);
}
});