小编uFl*_*ock的帖子

jQuery Fullcalendar-在添加新数据源时触发dayRender

我在Fullcalendar上遇到困难。基本上,我必须使用ajax逐月获取事件,否则由于事件非常复杂,渲染日历的时间过长。我可以获取事件并将它们添加到日历中没问题,但是问题是,当您添加新的数据源时,所有事件都可以正常显示,但是dayRender事件永远不会触发,因此我的自定义背景和qtip不会按应有的方式应用因为它们仅在dayRender事件中应用。

有一个“销毁然后渲染日历”(重绘日历)选项可以触发dayRender事件,但是由于某些原因,如果我这样做:

$('#calendar').fullCalendar('destroy');
$('#calendar').fullCalendar('render');
Run Code Online (Sandbox Code Playgroud)

日历已销毁,但从未重建->没有任何反应(也没有警告或错误消息)。

日历初始化后,是否可以通过类似的方式调用dayRender事件$('#calendar').fullCalendar( 'addEventSource', myevents );

也许您可以提供一些替代解决方案?

回答:

好的,所以经过数小时的尝试,我相信我找到了一种解决方法:

  1. 首次初始化日历时,您将创建一个未来事件数组,并向其中添加1条虚拟记录(否则它将不会创建日历)。
  2. 使用此数组初始化日历。
  3. 创建ajax调用以添加日历的新数据源,并将事件推送到您在第一步中创建的数组中。
  4. 将事件推入主数组后,执行以下代码:

$('#calendar').fullCalendar('prev'); $('#calendar').fullCalendar('next');

由于某种原因,它将调用dayRender事件。

javascript jquery fullcalendar

2
推荐指数
1
解决办法
918
查看次数

标签 统计

fullcalendar ×1

javascript ×1

jquery ×1