fullcalendar不会在未选中的jqxtab中呈现

时间:2015-02-07 00:29:49

标签: fullcalendar jqxwidgets

如果" selectedItem"我遇到问题,其中fullcalendar不会在jqxtab中呈现。选项卡不是包含fullcalendar的选项卡。因此,假设日历位于选项卡0上,而我的selectedItem设置为选项卡1.第二个选项卡在页面加载时被选中,正如您所期望的那样。如果我然后单击第一个选项卡(包含fullcalendar),则显示的唯一内容是" Today< >" fullcalendar的标题按钮。如果我单击其中一个按钮,那么其余的fullcalendar呈现。

如果在页面加载中选择了标签0,则fullcalendar会立即显示您的预期。

以下代码:

$(document).ready(function () {
        //Creating jqxTabs

        $('#jqxTabs').jqxTabs({ selectedItem: 1, width: '100%' });
        $('#calendar').fullCalendar({
            // put your options and callbacks here
        })


});

<div id='jqxTabs'>
<ul>
            <li>Tab 1</li>
            <li>Tab 2</li>
</ul>
<div style="width: 100%; height: 100%; -moz-box-sizing: border-box; box-sizing: border-box; padding: 10px;"><div id='calendar'></div></div>
<div style="width: 100%; height: 100%; -moz-box-sizing: border-box; box-sizing: border-box; padding: 10px;">Tab 2</div>

</div>

所以我找到了一个修复方法,即在单击选项卡时调用render函数,但是如果在jqxtabs中启用了淡入淡出,那么它就不起作用了。

$('#jqxTabs').on('selected', function (event) { 
    $('#calendar').fullCalendar('render');
});

1 个答案:

答案 0 :(得分:0)

Fullcalendar只有在可见时才能呈现。您找到的修复程序不适用于淡入淡出,因为当tabclick事件触发时它不可见。

轻松修复是使用超时。它甚至似乎没有实际延迟(只是在其他代码完成后运行):

$('#jqxTabs').on('tabclick', function (event) {
    window.setTimeout(
        function(){
            $('#fc2').fullCalendar('render');
        });
});