ken*_*der 4 javascript jquery fullcalendar
我在我的项目中使用Fullcalendar(http://arshaw.com/fullcalendar).它通过json源获取事件.
我想让用户选择将日历上的一个事件复制到其他日期 - 我想使用拖动(嗯,这是客户端的要求).
但拖动似乎是移动事件,而不是复制 - 是否有任何方法可以获取被拖动事件的"复制"(或复制保留在原始位置),所以它看起来像复制操作?
我试图在eventDragStart回调中复制事件对象,但它不起作用.
以下是我的解决方案,允许用户按住Shift键复制事件.请注意,这实际上是移动原始事件并将副本保留在原始位置.
我从这个引用开始并创建了以下内容:
//Before the fullCalendar object
var copyKey = false;
$(document).keydown(function (e) {
copyKey = e.shiftKey;
}).keyup(function () {
copyKey = false;
});
//then inside the fullCalendar object
eventDragStart: function (event, jsEvent, ui, view) {
if (!copyKey) return;
var eClone = {
title: event.title,
start: event.start,
end: event.end
};
$('#calendar').fullCalendar('renderEvent', eClone);
},
Run Code Online (Sandbox Code Playgroud)
尝试这个:
eventDrop: function(event, dayDelta, minuteDelta, allDay, revertFunc, jsEvent, ui, view) {
// Create an event object and copy at least the start date and the title from event
var eventClone = {
title:event.title,
start: event.start,
end: event.end
};
// Render new event with new event object
$('#calendar').fullCalendar('renderEvent', eventClone);
// Revert the changes in parent event. To move it back to original position
revertFunc();
}
Run Code Online (Sandbox Code Playgroud)
这只是一个想法。我还没有测试过这段代码。我希望它能起作用。
| 归档时间: |
|
| 查看次数: |
7240 次 |
| 最近记录: |