我的日期如下:
开始日期:2013-12-04
结束日期:2013-12-06
现在我想设置一个限制,即在较大的日期之后不应该拖动较小的日期,并且不应该在较小的日期之前拖动较大的日期。
这可以实现吗?
到目前为止,这是我的代码:
$(document).ready(function() {
$('#calendar').fullCalendar({
editable: true,
events: "json-data.php",
eventDrop: function(event, delta) {
alert(event.title + ' was moved ' + delta + ' days\n' +
'(Dragged)');
},
loading: function(bool) {
if (bool) $('#loading').show();
else $('#loading').hide();
}
});
});
答案 0 :(得分:1)
如documentation on eventDrop
所示:eventDrop
回调在其参数中接收revertFunc
函数,该函数在被调用时会将事件恢复回原始位置。
以下是您如何撰写eventDrop
回调的概述:
eventDrop : function(event,dayDelta,minuteDelta,allDay,revertFunc) {
var smaller = /* get date of (moved) smaller event */,
bigger = /* get date of (moved) bigger event */;
if ( smaller > bigger ) {
alert('smaller should stay before bigger');
revertFunc();
}
}
答案 1 :(得分:1)
您可以使用'revertFunc'(文档here)
在eventDrop
if (initialDate.getTime()>finalDate.getTime()) {revertFunc();}
getTime
是获取自1970年以来经过的毫秒数(用于比较两个日期)
并且initialDate
和finalDate
我指的是初始(拖动开始)和最终(拖动结束)Date
实例。在这种情况下,您可以通过
if (dayDelta<0)
dayDelta
已在fullcalendar