我正在使用自己的自定义函数来填充事件:

$('#calendar').fullCalendar({
  events:getCalendarData
});

而且我碰巧使用jQuery tabs插件将日历作为我的选项卡之一(选项卡由$('#tabs')。tabs();创建)。

该设置工作正常,除了我发现最初加载页面时,日历确实发出了异步请求(我在Firebug中看到了),但是如果我切换到显示日历的选项卡,它将空白(接口(interface)正常,但没有事件)。如果我移至下个月再返回,它将很好地显示数据。另外,如果我在“第一”选项卡上制作了日历,则可以正常使用!因此,似乎只是初始请求未呈现事件,可能是因为选项卡在加载时被隐藏了。

如果我加载该页面,请转到日历标签(不显示任何事件),而我碰巧是手动调用
$('#calendar').fullCalendar( 'render' );

然后它将加载事件。我试过在对fullCalendar回调的调用之后放置该渲染调用,但是没有骰子。
callback(events);
$('#calendar').fullCalendar( 'render' );

似乎一种选择是绑定(bind)
$('#calendar').fullCalendar( 'render' );

直到标签的显示事件,但这有点困惑。

有什么建议吗?

-布莱恩

最佳答案

您应该将render调用放在选项卡的show事件中。这就是这里的建议:http://arshaw.com/fullcalendar/docs/display/render/

10-07 19:42
查看更多