如果" 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');
});
答案 0 :(得分:0)
Fullcalendar只有在可见时才能呈现。您找到的修复程序不适用于淡入淡出,因为当tabclick事件触发时它不可见。
轻松修复是使用超时。它甚至似乎没有实际延迟(只是在其他代码完成后运行):
$('#jqxTabs').on('tabclick', function (event) {
window.setTimeout(
function(){
$('#fc2').fullCalendar('render');
});
});