Javascript 如何防止在fullcalendar中突出显示外部事件(灰色背景)
我已经有一个外部事件的开始和结束时间,但是有没有正确的方法来设置同一个外部事件的突出显示(灰色背景)的结束时间 或者,如果无法设置突出显示的结束时间,那么我们可以从外部/可拖动事件中完全删除Javascript 如何防止在fullcalendar中突出显示外部事件(灰色背景),javascript,jquery,fullcalendar,fullcalendar-2,Javascript,Jquery,Fullcalendar,Fullcalendar 2,我已经有一个外部事件的开始和结束时间,但是有没有正确的方法来设置同一个外部事件的突出显示(灰色背景)的结束时间 或者,如果无法设置突出显示的结束时间,那么我们可以从外部/可拖动事件中完全删除fc突出显示 顺便说一下,我已经问了这个问题,但没有得到正确的回答,所以我再次问 有关更多详细信息,请访问我的另一个问题:从… 我设法定制了可拖动事件,以便有一个定义的持续时间用作时间计算 我向可拖动事件添加了data duration hour和data duration minute属性 这些“数据”属性
fc突出显示
顺便说一下,我已经问了这个问题,但没有得到正确的回答,所以我再次问
有关更多详细信息,请访问我的另一个问题:从…我设法定制了可拖动事件,以便有一个定义的持续时间用作时间计算 我向可拖动事件添加了
data duration hour
和data duration minute
属性
这些“数据”属性用于确定事件的结束时间,即事件停止时
现在关于日历中拖动
(在拖放
之前)时出现的强光…还亮了两个小时 您必须查看要在fullCalendar选项中添加的
拖动功能。
我暂时不知道
所以。。。我可能没有回答正确的问题(关于阻力的强光效应)。
但这仍然是对您的项目的改进
看看这个
HTML已修改:
<div class='fc-event' data-duration-hour="3" data-duration-minute="30">My Event 1</div>
function external_event_dropped(date, external_event) {
var event_object;
var copied_event_object;
var tempDate = new Date(date);
event_object = $(external_event).data('eventObject');
copied_event_object = $.extend({}, event_object);
copied_event_object.start = date;
// This is the dropped date object
console.log(date);
// This is the drop time in clear.
console.log( "dropped at: "+date.hour()+":"+date.minute() );
// Retreive the data-duration from the dragged element.
var durationHour = parseInt(external_event.data("duration-hour"));
var durationMinute = parseInt(external_event.data("duration-minute"));
console.log("DATA: "+durationHour+":"+durationMinute);
// Clone the time object to modify it in order to create de end time.
var dateEnd = date.clone();
dateEnd = dateEnd.hour(dateEnd.hour()+durationHour);
dateEnd = dateEnd.minute(dateEnd.minute()+durationMinute);
// This is the end time object.
console.log(dateEnd);
// This is the drop end time in clear.
console.log( "dropped at: "+dateEnd.hour()+":"+dateEnd.minute() );
// Now set it to the FullCalendar object.
copied_event_object.end = dateEnd;
copied_event_object.allDay = false;
copied_event_object.title = 'ADEEL';
external_event.remove();
$('#exampleCalendar').fullCalendar('renderEvent', copied_event_object, true);
}
有关完整的解决方案,请查看以下内容:
在阅读了完整的日历文档并花了大量时间讨论这个问题之后,我提出了一个解决方案,我希望它也能帮助其他人
因此,解决方案是:
- 我添加了一个选项
defaultTimedEventDuration
,它是外部/可拖动事件的默认持续时间,如果事件上没有设置持续时间
e、 g:defaultTimedEventDuration:'01:00:00'
- 还添加了html中的
数据持续时间
,以获得动态持续时间和突出显示的效果
e、 g:My Event 1
N.B:也可以在js数据中设置持续时间
属性
你能提供一个或一个实时链接吗?谢谢@LouySpatriceBesette的回复,是的,当然这是链接:谢谢@LouySpatriceBesette,但正如我说的,我已经有了可拖动事件的结束时间,我的问题是如何防止突出的效果。但还是要感谢你的时间和考虑