假设我在Fullcalendar中有3种事件类型,'foo','bar'和'quux'。"foo"和"bar"不能相互重叠,但是"quux"可以同时重叠"foo"和"bar"。
这可能吗?如果是这样,我该如何实现?
https://fullcalendar.io/docs/eventOverlap 说可以防止重叠,但是这样可以完全防止事件类型的重叠
您链接到的事件重叠文档页面显示
"如果给定一个函数,则每次有 一对相交事件,无论是在用户拖动还是调整大小时。这 如果应该允许重叠,函数必须返回 true,如果允许重叠,函数必须返回 false 否则">
因此,在该函数中,您可以定义任何您想要的逻辑来决定是否允许重叠,包括检查事件的属性。因此,您可以编写代码来检查这两个事件是否为"foo"和"bar",然后相应地返回响应。
朴素的例子:
eventOverlap: function(stillEvent, movingEvent) {
if (
(stillEvent.title == "foo" && movingEvent.title == "bar")
||
(stillEvent.title == "bar" && movingEvent.title == "foo")
)
{
return false;
}
return true;
}