私は、すべての基本を実行するFullCalendar実装に取り組んでいます。これらは、正常に機能しています(ドラッグ/ドロップ、サイズ変更、追加、削除、イベントの編集)。しかし、最近、記念日などのカレンダーに「アイテムの繰り返し」機能を統合しました。これもすべて問題ありません。
問題は、新しい場所にドラッグされたアイテム(たとえば、100回繰り返される)がある場合に発生します。ajax呼び出しが行われ、データベース内のアイテムの日付/時刻と、すべての「リピート」アイテムが更新されます。これには数秒かかる場合があります。したがって、基本的に、イベントがドラッグアンドドロップされた日付のDIVに「読み込み中」のGIFを表示したいと思います。DIV IDまたはDIVをオブジェクトとして取得するにはどうすればよいですか?
編集
また、回避策があれば、datedivの読み込みグラフィックに代わる他の方法を聞くこともできます。
$('#jMonthCalendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
editable:true,
eventSources: [
"/api/getCalendarItemsAll.php"
],
eventDrop: function ( event, dayDelta, minuteDelta, allDay, revertFunc, jsEvent, ui, view ){
updateCalendarItem( event, dayDelta, minuteDelta, allDay, revertFunc, jsEvent, ui, view, true );
},
eventResize: function( event, dayDelta, minuteDelta, revertFunc, jsEvent, ui, view ){
updateCalendarItem( event, dayDelta, minuteDelta, null, revertFunc, jsEvent, ui, view, false );
},
//... Other Event Handlers
});
function updateCalendarItem( event, dayDelta, minuteDelta, allDay, revertFunc, jsEvent, ui, view, isDrop ){
var j=JSON.stringify(event);
var url = '/api/calendarUpdateItem.php';
var data = 'j=' + encodeURIComponent(j) +
'&dd=' + encodeURIComponent(dayDelta) +
'&md=' + encodeURIComponent(minuteDelta) +
'&dr=' + encodeURIComponent(isDrop) +
'&ref=' + randomString(30);
$.getJSON(
url, data,
function(result) {
refreshCalendar();
if (result.status == "ERR"){
showError(result.message);
}
}
);
}