fullcalendar day关闭一天

时间:2017-06-06 19:12:08

标签: javascript fullcalendar

我在C#.Net项目中使用Fullcalendar 3.3.1。

我定义了日历

$("#calendar").fullCalendar({
    'header': {
        'left': "prev,next today",
        'center': "title",
        'right': "month,agendaWeek,agendaDay"
    },
    'dayClick': function (myDate, jsEvent, view) {
        var tmpDate = moment(myDate.format());

        if (view.name !== "agendaDay") {
            console.log("clicked on non agendaDay: " + tmpDate.format());
            $("#calendar").fullCalendar("gotoDate", tmpDate.format());
            $("#calendar").fullCalendar("changeView", "agendaDay");
        } else {
            console.log("clicked on agendaDay");
        }
    },
    ...

默认情况下,网页会显示month视图。点击日期块(实际上在除agendaDay之外的任何视图中)都会转到agendaDay视图,查看所点击的日期...或它应该。这是今天早上这样做但现在已经停止了。不管我点击的日期,它现在都需要“今天”。

我在小提琴中测试了这个,但它在那里工作。我可以在console.log中看到预期的日期。我可以使用Chrome开发者工具并在gotoDate电话上设置断点,我可以看到正确的日期,但最终结果是“今天”。

我直接使用myDate参数,这是一个moment对象,但是没有用。我决定使用tmpDate变量来确保某些内容不会改变我的日期。

我错过了什么?

修改为了解决这个问题,我改变了gotoDatechangeView次调用的顺序,现在可以正确设置新视图的日期。去图

1 个答案:

答案 0 :(得分:1)

更改视图会将您的日期重置为今天。

您应该changeView然后转到gotoDate,或者如果您想要在切换到新视图的同时导航到新日期,您可以指定日期参数,如下所示:

$('#calendar').fullCalendar('changeView', 'agendaDay', '2017-06-01');

以下是jsfiddle