有没有办法在jQuery FullCalendar中防止重叠事件?
解决方法
我做了一个函数来检查给定的事件是否与其他事件重叠。如果事件重叠,则返回true,否则返回false。
function isOverlapping(event){ var array = calendar.fullCalendar('clientEvents'); for(i in array){ if(array[i].id != event.id){ if(!(Date(array[i].start) >= Date(event.end) || Date(array[i].end) <= Date(event.start))){ return true; } } } return false; }
您可以在删除或调整大小和事件时使用它,如果事件与其他事件重叠使用在eventDrop和eventResize回调中接收到的revertFunc,或者在选择回调中取消创建事件。为了在选择回调中使用它创建一个dummie事件:
var event = new Object(); event.start = start; event.end = end;