将事件拖到FullCalendar上时防止重叠

时间:2014-01-30 16:36:11

标签: javascript jquery fullcalendar

如果data-shareable =' true'我有一些外部事件只能放到FullCalendar上。如果数据可共享=' false'然后,只要事件不与另一个丢弃的事件重叠,就可以删除该事件。

if (this.getAttribute('data-shareable') == 'true' ) {
$('#calendar').fullCalendar('renderEvent', copiedEventObject, true);
}else{
alert('this is not a shareable resource');
}

我创建了这个示例jsfiddle

注意:'活动2'是唯一一个可以数据共享=' false'因此,如果它与另一个丢弃的事件重叠,则不应该删除它。

1 个答案:

答案 0 :(得分:0)

http://jsfiddle.net/9hMgJ/11/

添加了第13 - 14行,以扩展对象并保存有关data-id和data-shareable的信息。

            var eventObject = {
            title: $.trim($(this).text()), // use the element's text as the event title
            shareable: $(this).data('shareable'),
            id: $(this).data('id')
        };

现在,您需要更改决策逻辑。 您必须检查目标和拖动事件是否可共享,以及一个事件的开头或结尾是否在另一个事件的范围之间,反之亦然。

如果它们是可共享的,则无其他事可做,如果不是,请查看日期。

如果日期不重叠,请继续!如果没有,请解雇并注意用户:)