您好,我在使用完整日曆庫時遇到問題。FullCalendar加倍使用JQuery的事件
只有當我點擊我的自定義「過濾器」按鈕並更改月份時,事件纔會加倍。
當我調用過濾器時,我將刪除所有事件並使用過濾結果重新填充。這個問題看起來像當我點擊左/右按鈕時,它會再次調用事件羣並添加事件。我想禁用或重寫它。
這裏是正在發生的事情: enter image description here
日曆代碼:
function calendarView()
{
//$('#calendar').fullCalendar('removeEvents')
var url_str = "/Calendar/GetCalendarEvents"
$('#calendar').fullCalendar({
header: {
left: 'prev,next, today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
fixedWeekCount: true,
eventLimit: 4,
events: url_str,
eventClick: function (calEvent, jsEvent, view)
{
editable: false;
var currentDate = new Date();
currentDate.setHours(0, 0, 0, 0);
if (calEvent.start >= currentDate - 1)
openEditVisit(calEvent.id)
}
});
};
過濾器按鈕來調用代碼
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "/Calendar/GetCalendarEvents",
data: j,
async: false,
dataType: 'json',
success: function (data)
{
$('#calendar').fullCalendar('removeEvents')
$('#calendar').fullCalendar('addEventSource', data)
},
error: function (xhr, err) {
alert("ERROR! - readyState: " + xhr.readyState + "<br/>status: " + xhr.status + "<br/>responseText: " + xhr.responseText);
}
});
'async:false'你爲什麼需要這個?它只是在ajax運行時鎖定瀏覽器,並可能導致用戶認爲它崩潰了,尤其是,如果請求比平時花費更長時間。在某些瀏覽器中,它已經被棄用了,所以你可以在你的控制檯中看到警告,並且最終該功能根本不起作用。 – ADyson