FullCalendar gotoDate丢失具有多个日历的drop事件

时间:2015-02-05 07:50:31

标签: javascript jquery fullcalendar

我们正在制作一个用户可以创建自己的日历的Web应用程序。他们应该能够在一个页面上创建多个日历(所有在视图agendaDay中)。必须在日历上删除外部事件才能进行约会。我们想做的一切都像魅力一样!

但是我们有一个问题,我们似乎无法为它找到解决方案。

我们有第二个(月份)日历(动态创建),我们正在使用此日历在几天之间导航。当用户点击一天时,我们使用gotoDate来更改FullCalendars日。

这就是问题所在。当我们在页面上的所有日历上使用gotoDate时,不可能在第一个日历上删除外部事件。删除第二或第三个日历上的事件并没有给出任何问题。

我所看到的是fullCalendar在第724行(版本2.2.6)的fullcalendar.js中的renderView函数中被销毁。在此之后,fullcalendar再次呈现。 当我解除破坏时,问题就解决了,但是当然,丢弃事件会被初始化为第二次(或第三次,或第四次)。

我无法找到解决方案,所以试图为此找到一些帮助。

请参阅我的代码:http://jsbin.com/pubelo/1/

我还将此提交给FullCalendar问题跟踪器,但我现在正试图找到一个快速解决方案。

更新1 仍在查看FullCalendar.js代码。我注意到当我在destroy函数中删除第6414行时,问题就解决了。

this.el.empty();

但删除该行会导致双重javascript事件。

更新2 更改了jsbin链接。

更新3 我注意到处理程序' documentDragStart'使用gotoDate时,在第一个日历上没有调用。

更新4 问题变成" var Grid = fc.Grid = RowRenderer.extend({" unbindHandlers function。

因为秒日历在第一个名为bindHandlers的日历之后调用unbindHandler,所以dragstart已被删除并且仅应用一次(到最后一个日历)。

Haven没有找到解决方案......

变通方法/解决方案 找到解决问题的方法。

我正在销毁这两个日历。之后,我再次初始化两个日历,并将defaultDate参数设置为正确的日期。

现在这似乎工作正常。

1 个答案:

答案 0 :(得分:1)

找到解决问题的方法。

我正在销毁这两个日历。之后,我再次初始化两个日历,并将defaultDate参数设置为正确的日期。

现在这似乎工作正常。

<强>更新 问题已由Arshaw修复并在最新版本2.3.0中发布。