Javascript Jquery FullCalendar扩展开始日期或结束日期

Javascript Jquery FullCalendar扩展开始日期或结束日期,javascript,jquery,jquery-ui,calendar,fullcalendar,Javascript,Jquery,Jquery Ui,Calendar,Fullcalendar,我正在使用jqueryfullcalendar 以下是我正在使用的日历链接: 我有一个案例,我有开始日期和结束日期 现在,如果我通过拖动它来扩展startdate或enddate 如何获取在拖动/延长日期时触发的响应事件 例如: 当我将事件从一个日期移动到另一个日期时,我使用eventDrop。它给了我在原始日期上加上或减去的天数 我需要相同的解决方案来扩展startdate或enddate 我面临的可能性: 原始日期:2013-12-04至2013-12-07 延长时间:2013-12-04至

我正在使用jqueryfullcalendar

以下是我正在使用的日历链接:

我有一个案例,我有开始日期和结束日期

现在,如果我通过拖动它来扩展startdate或enddate

如何获取在拖动/延长日期时触发的响应事件

例如:

当我将事件从一个日期移动到另一个日期时,我使用eventDrop。它给了我在原始日期上加上或减去的天数

我需要相同的解决方案来扩展startdate或enddate

我面临的可能性:

原始日期:2013-12-04至2013-12-07

延长时间:2013-12-04至2013-12-10

延长时间:2013-12-01至2013-12-07


以下是我面临的情况。如何跟踪我在日历中执行的事件及其传递的参数?

您可以使用eventResize

以下是来自官方网站的示例:


jqueryfullcalender根据您的需求提供了许多选项,您可以在其中玩您的活动

原始日期:2013-12-04至2013-12-07

扩展时间:2013-12-04至2013-12-10

当您延长事件持续时间时,要捕获更改结束日期的事件,可以使用以下代码

eventResizeStart: function (event, jsEvent, ui, view) {
    console.log('RESIZE START ' + event.title);

},
eventResizeStop: function (event, jsEvent, ui, view) {
    console.log('RESIZE STOP ' + event.title);

},
eventResize: function (event, dayDelta, minuteDelta, revertFunc, jsEvent, ui, view) {
    console.log('RESIZE!! ' + event.title);
    console.log(dayDelta + ' days'); //this will give the number of days you extended the event
    console.log(minuteDelta + ' minutes');

},
eventDragStart: function (event, jsEvent, ui, view) {
    console.log('DRAG START ' + event.title);
    console.log(this);
},
eventDragStop: function (event, jsEvent, ui, view) {
    console.log('DRAG STOP ' + event.title);
    console.log(this);
},
eventDrop: function (event, dayDelta, minuteDelta, allDay, revertFunc, jsEvent, ui, view) {
    console.log('DROP ' + event.title);
    console.log(dayDelta + ' days'); //this will give the number of days you dragged before or after
    console.log(minuteDelta + ' minutes');
    console.log('allday: ' + allDay);

},
原始日期:2013-12-04至2013-12-07

扩展时间:2013-12-01至2013-12-07

这是当您预先发起事件时,您可以使用以下代码

eventResizeStart: function (event, jsEvent, ui, view) {
    console.log('RESIZE START ' + event.title);

},
eventResizeStop: function (event, jsEvent, ui, view) {
    console.log('RESIZE STOP ' + event.title);

},
eventResize: function (event, dayDelta, minuteDelta, revertFunc, jsEvent, ui, view) {
    console.log('RESIZE!! ' + event.title);
    console.log(dayDelta + ' days'); //this will give the number of days you extended the event
    console.log(minuteDelta + ' minutes');

},
eventDragStart: function (event, jsEvent, ui, view) {
    console.log('DRAG START ' + event.title);
    console.log(this);
},
eventDragStop: function (event, jsEvent, ui, view) {
    console.log('DRAG STOP ' + event.title);
    console.log(this);
},
eventDrop: function (event, dayDelta, minuteDelta, allDay, revertFunc, jsEvent, ui, view) {
    console.log('DROP ' + event.title);
    console.log(dayDelta + ' days'); //this will give the number of days you dragged before or after
    console.log(minuteDelta + ' minutes');
    console.log('allday: ' + allDay);

},
根据您上面的评论,如果要限制用户拖动事件或调整事件大小,则可以使用
eventDurationEditable
,默认情况下这是
true


eventdurationediate:false,

您可以使用
eventResizeStart
eventResizeStop
eventResize
扩展
结束日期
时,使用
dragStart
dragStop
来更改
开始日期
我可以检查我的事件是否在单个日期(我的意思是没有结束日期,只有开始日期),所以在这种情况下,它不应该是可调整大小的。我该怎么做?您可以使用
eventDurationEditable
来限制它,我可以检查我的事件是否在单个日期(我的意思是没有结束日期,只有开始日期)上吗,因此在这种情况下,它不应该是可调整大小的。我该怎么做呢?。您可以将属性durationEditable:false添加到单个事件中,该事件不允许通过调整大小进行编辑。我们可以对2个日期事件执行相同的操作吗?与同时具有开始日期和结束日期的事件一样,不允许将其调整为单个日期。当然,您可以添加上述属性to任何单个事件。此外,您可以在初始化fullCalendar时添加eventDurationEditable:false,以禁止所有调整大小的操作。此选项也会在双倍日期事件上锁定调整大小