在fullCalendar jquery插件上启用事件自动刷新的好方法?

在fullCalendar jquery插件上启用事件自动刷新的好方法?,fullcalendar,Fullcalendar,有没有让jquery插件自动刷新其事件的好方法 我可以使用计时器简单地调用'refetchEvents',但如果用户当前正在拖动事件(在拖动事件时刷新时抛出javascript错误),则会出现问题。有更好的方法吗?您只需要跟踪一个标志,即是否应该进行自动刷新。默认情况下,它应该是true,但在拖动或调整大小时设置为false。您可以根据eventDragStart、eventDragStop、eventResizeStart和eventResizeStop设置它 有关鼠标相关触发器的列表,请参阅

有没有让jquery插件自动刷新其事件的好方法


我可以使用计时器简单地调用'refetchEvents',但如果用户当前正在拖动事件(在拖动事件时刷新时抛出javascript错误),则会出现问题。有更好的方法吗?

您只需要跟踪一个标志,即是否应该进行自动刷新。默认情况下,它应该是
true
,但在拖动或调整大小时设置为
false
。您可以根据
eventDragStart
eventDragStop
eventResizeStart
eventResizeStop
设置它


有关鼠标相关触发器的列表,请参阅。

好的解决方案。。。但这还不够:

var calE = {
        url: 'calendarEvents.do',
        type: 'POST',
        data: {
            siteId: $("#siteId").val()
        },
        error: function() {
            alert('there was an error while fetching events!');
        }
};

function loadCal(){
        $('#calendar').fullCalendar({
                theme: true,
                events: calE,
                editable: false,            
                eventDrop: function(event, delta) {
                        alert(event.title + ' was moved ' + delta + ' days\n' +
                                '(should probably update your database)');
                },          
                loading: function(bool) {
                        if (bool) $('#loading').show();
                        else $('#loading').hide();
                },
                viewDisplay: function(viewObj) {}           
        });

}

function reloadCalendar(){
    $('#calendar').fullCalendar('removeEventSource', calEvent );
    var source = {
            url: 'calendarEvents.do',
            type: 'POST',
            data: {
                siteId: $("#siteId").val()
            },
            error: function() {
                alert('there was an error while fetching events!');
            }
        };
    $('#calendar').fullCalendar('removeEvents');
    $('#calendar').fullCalendar('addEventSource', source );
    $('#calendar').fullCalendar('rerenderEvents');
    calE = source;
}

通过使用此选项,您将保留原始算法来获取数据。

@arshaw,感谢fulcalendar.js,如何设置自动刷新?哪里请给我小费