Javascript 为什么fullcalendar会';不在模态内部渲染,但不在模态内部渲染

Javascript 为什么fullcalendar会';不在模态内部渲染,但不在模态内部渲染,javascript,fullcalendar,Javascript,Fullcalendar,有人能告诉我为什么日历不显示在模式中吗?但如果没有模态,它们确实表现得很好。 请首先查看它的工作原理: 看不到的地方: 我想我需要使用fullCalendar('render')但即使这样,代码似乎也不能在click函数中正常工作。请协助。如果fullCalendar的任何父级都有显示:无,则fullCalendar将不会呈现。正是您需要使用的,但您需要在显示模型后执行此操作 或者,您可以尝试使用display:block,但定位在屏幕外(左:-1000%;右:1000%;或类似位置),直到您希

有人能告诉我为什么日历不显示在模式中吗?但如果没有模态,它们确实表现得很好。 请首先查看它的工作原理: 看不到的地方:


我想我需要使用
fullCalendar('render')但即使这样,代码似乎也不能在click函数中正常工作。请协助。

如果fullCalendar的任何父级都有
显示:无,则fullCalendar将不会呈现。正是您需要使用的,但您需要在显示模型后执行此操作


或者,您可以尝试使用
display:block,但定位在屏幕外(
左:-1000%;右:1000%;
或类似位置),直到您希望它可见。

如果它的任何父级具有
显示:无。正是您需要使用的,但您需要在显示模型后执行此操作


或者,您可以尝试使用
display:block,但定位在屏幕外(
左:-1000%;右:1000%;
或类似),直到您希望它可见。

以下是我为使其在您的模式版本中工作所做的。 我创建了一个函数,正如您所怀疑的那样,它将日历添加到模式中,并在单击“标记假期”按钮时调用它

$('#vacaBtn').click(function () {
      modal.style.display = "block";
      renderCalendars();
});
我将创建这三个日历的所有代码放在renderCalendars()函数中,以便在模式显示后将它们添加到模式中

function renderCalendars() {
   $('#calendar0').fullCalendar({
    header: {
            left: '',
            center: 'title',
            right: ''
        },
        defaultDate: moment(y+"-"+(m+1)+"-"+d),
      theme: true,
      dayClick: function(date, jsEvent, view) {

        alert('Clicked on: ' + date.format());

    }
    });

    $('#calendar1').fullCalendar({
    header: {
            left: '',
            center: 'title',
            right: ''
        },
        defaultDate: moment(y+"-"+(m+2)+"-"+d),

    theme: true
    });
    $('#calendar2').fullCalendar({
        header: {
            left: '',
            center: 'title',
            right: ''
        },
           theme: true,
        defaultDate: moment(y+"-"+(m+3)+"-"+d)
    });
}

以下是我在你的模态版本中所做的工作。 我创建了一个函数,正如您所怀疑的那样,它将日历添加到模式中,并在单击“标记假期”按钮时调用它

$('#vacaBtn').click(function () {
      modal.style.display = "block";
      renderCalendars();
});
我将创建这三个日历的所有代码放在renderCalendars()函数中,以便在模式显示后将它们添加到模式中

function renderCalendars() {
   $('#calendar0').fullCalendar({
    header: {
            left: '',
            center: 'title',
            right: ''
        },
        defaultDate: moment(y+"-"+(m+1)+"-"+d),
      theme: true,
      dayClick: function(date, jsEvent, view) {

        alert('Clicked on: ' + date.format());

    }
    });

    $('#calendar1').fullCalendar({
    header: {
            left: '',
            center: 'title',
            right: ''
        },
        defaultDate: moment(y+"-"+(m+2)+"-"+d),

    theme: true
    });
    $('#calendar2').fullCalendar({
        header: {
            left: '',
            center: 'title',
            right: ''
        },
           theme: true,
        defaultDate: moment(y+"-"+(m+3)+"-"+d)
    });
}

谢谢,我把渲染功能放在了显示块之后,就像你建议的那样,效果很好!谢谢,我把渲染功能放在了显示块之后,就像你建议的那样,效果很好!