视图更改时的Fullcalendar渲染事件



我有这个代码

$('#calendar').fullCalendar({
    viewRender:function(view,element){
        if(view.name == "agendaDay"){
            if(jQuery("#calendar").hasClass("hasRendered") == false){
                var newEvent = {
                    start: '2014-10-29 07:00',
                    end: '2014-10-29 10:00',
                    allDay: false,
                };
                $('#calendar').fullCalendar( 'renderEvent', newEvent,'stick');
            }
        }
    },
});

此代码的问题在于,即使我已经在agendaDay视图中,它也会继续调用eventRender。我该如何防止这种情况发生?

不确定为什么要这样做,但这里有一个工作示例:

http://jsfiddle.net/3E8nk/762/

viewRender:(function() {
    var lastViewName;
    return function(view, element) {
        if(view.name === 'agendaDay' && lastViewName != view.name) {
            var newEvent = {
                start: '2014-06-12T10:30:00',
                end: '2014-06-12T12:30:00',
                allDay: false,
                title: 'My test meeting'
            };
            $('#calendar').fullCalendar( 'renderEvent', newEvent);
        }
        lastViewName = view.name;
    }
})(),

请注意,每次进入agendaDay时,这都会再次添加事件(不过这很容易纠正)。如果你描述你真正想做的事情,可能会有更好的解决方案。

相关内容

  • 没有找到相关文章