FullCalendar不在选项卡中呈现

时间:2014-04-04 13:16:13

标签: javascript jquery fullcalendar

我有一些基本的自定义标签设置功能,使用显示/隐藏DIV的点击事件。

尽管使用render函数(docs),FullCalendar仍未显示其中一个标签。

$(".tabs .tab").click (e) ->
  ...
  $("#calendar").fullCalendar "render"

#calendar DIV最初是隐藏的,但根据我的理解,render函数应该强制每次点击都会呈现日历。所有其他选项卡都能正常工作,因此我知道显示/隐藏功能根本不存在问题。

有谁知道这里可能出现的问题?

2 个答案:

答案 0 :(得分:1)

问题最终与我展示/隐藏DIV的方式有关 -

我用来隐藏DIV的CSS选择器过于宽泛,最终将display: none;分配给日历DIV(这是标签内容DIV的子项)。

解决方案是改变:

$("#tab-contents div").hide()

要:

$("#tab-contents").children().hide

在HTML中,日历显示如下(在HAML中):

#tab-contents
  #tab-calendar
    #calendar
  #tab-other
    ...

感谢您的帮助和建议,我应该在开始时发布更多代码。

答案 1 :(得分:0)

某些脚本通常无法在隐藏的DIV上正常工作。

我通常会在页面上加载一切可见的内容,大约200ms后我隐藏了所有需要隐藏的内容。

对于bootstrap标签,我设置了每个标签容器" active" class和tab菜单,我使用这个触发器脚本。

setTimeout(function() {
    $('.my-tabs-control a').first().click();
}, 200);

您可以为自己的脚本尝试此解决方案。