gpt4 book ai didi

jquery - 使用 jquery fullCalendar 时,为什么我在切换月份后看到重复的事件?

转载 作者:行者123 更新时间:2023-12-03 22:13:08 25 4
gpt4 key购买 nike

我是using jquery fullCalendar plugin我遇到了一个奇怪的问题。

当我加载第一个月(本例中为 2013 年 12 月)时,它工作正常。我调用我的 ajax 事件并返回一组事件。我从服务器返回 40 个事件,并且看到 40 个事件呈现。

然后我转到下个月(2014 年 1 月),它也运行良好。 (来自服务器的 41 个事件和 GUI 中显示的 41 个事件)

然后,我单击“返回”以更改回 2013 年 12 月,我收到 ajax 事件,该事件返回相同的 40 个事件(如上所述),但是当日历加载时,它会看到 12 月的每个事件都重复(GUI 上显示了 80 个事件) )即使我只从服务器发回 40,并且在事件回调期间我看到 40。

这是我的代码:

$('#calendar').fullCalendar({
header: {
left: 'prev,next title today',
right: ''
},
lazyFetching: false,
editable: false,
timeFormat: 'H:mm{-H:mm} ',

viewDisplay: function (view) {
ViewDisplay();
},

events: function (start, end, callback) {

$('#Month').val($('#calendar').fullCalendar('getDate').getMonth() + 1);
$("#Year").val($('#calendar').fullCalendar('getDate').getUTCFullYear());

var serializedFormInfo = $('#rotaForm').serialize();

$.ajax({
url: '/SupportRota/GetEvents/',
dataType: 'json',
cache: false,

data: serializedFormInfo,
success: function (data) {
callback(data.RotaEvents);
}
});
}
});

我尝试添加lazyLoading: false,因为我认为这是某种缓存,但这似乎并不能解决问题。

我在 firebug 中放置了一个断点

callback(data.RotaEvents)

在上述场景中,我看到 40 个事件,但屏幕上显示了 80 个事件。

有什么建议吗?

最佳答案

如果事件是通过

设置的
$('#calendar').fullCalendar('renderEvent', copiedEventObject, true);

(如我发现的示例)您可能希望使用以下方式指定事件创建:

$('#calendar').fullCalendar('renderEvent', copiedEventObject, false);

false 使事件“不粘滞”(这是默认行为;您也可以删除 true),并且当日历重新获取事件时,将允许事件消失 - 这对我来说是这样:-)

关于jquery - 使用 jquery fullCalendar 时,为什么我在切换月份后看到重复的事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20341201/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com