我希望 fullCalendar 在不重新加载页面的情况下重新绘制自身(所有结构和事件)。
场景:我正在使用支持资源视图的 fullCalendar 补丁。对于一些用户操作,我想更改资源。但我不想重新加载页面。
您可以"销毁"和"渲染"整个日历。但这可能很麻烦 - 尤其是在较旧的浏览器中。
$('#calendar').fullCalendar('destroy');
$('#calendar').fullCalendar('render');
如果你实际上不需要渲染表,而只是再次重新渲染事件,你可以使用'rerenderEvents'方法:
$('#calendar').fullCalendar('rerenderEvents');
希望这有帮助!
使用 refetchResources: .fullCalendar( 'refetchResources' )
这将根据 FullCalendar 文档获取并重新呈现资源数据。
问题:
"...问题是日历被初始化,而模态或div 不可见......"基于此链接在此处输入链接说明
在我看来,在这种情况下不需要销毁,只有通过渲染才能看到日历。
我的解决方案:
<script type="text/javascript">
$('#objectname').show(0,onObjectShow);
function onObjectShow(){$('#calendar').fullCalendar('render');}
</script>
您必须确保对象(日历的容器)完全可见。例如,我的第一个错误是将此代码放在"onClick"事件上,并且在显示对象容器之前触发了单击事件并且没有效果。
解决方案 基于此参考。
您也可以使用以下命令即时重绘日历-$(window).trigger("resize");