javascript - FullCalendar gotoDate 丢失多个日历的放置事件

标签 javascript jquery fullcalendar

我们正在制作一个网络应用程序,用户可以在其中创建自己的日历。他们应该能够在一个页面上创建多个日历(全部在议程日 View 中)。有一些外部事件必须放在日历上才能进行约会。我们想做的一切都像一个魅力!

但我们有 1 个问题,我们似乎无法找到解决方案。

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

这就是问题所在。当我们在页面上的所有日历上使用 gotoDate 时,不可能将外部事件放在第一个日历上。将事件放在第二个或第三个日历上不会产生任何问题。

我看到的是 fullCalendar 在第 724 行(版本 2.2.6)的 fullcalendar.js 的 renderView 函数中被破坏。在此之后,完整日历再次呈现。 当我取消对 destroy 的注释时,问题就解决了,但当然 drop 事件会第二次(或第三次或第四次)初始化。

我无法找到解决方案,因此尝试为此寻找一些帮助。

查看我的代码:http://jsbin.com/pubelo/1/

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

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

this.el.empty();

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

更新 2 更改了 jsbin 链接。

更新 3 我注意到在使用 gotoDate 时,处理程序“documentDragStart”不会在第一个日历上调用。

更新 4 问题出在“var Grid = fc.Grid = RowRenderer.extend({” unbindHandlers 函数中。

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

还没有找到解决办法...

解决方法/解决方案 已解决该问题。

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

目前这似乎工作正常。

最佳答案

已解决该问题。

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

目前这似乎工作正常。

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

关于javascript - FullCalendar gotoDate 丢失多个日历的放置事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28338748/

相关文章:

javascript - 如何使用 cookie 保存 menu_toggle 的设置?

php - 将 ajax 调用获取的数据返回到另一个函数

css - 月份首字母大写 fullcalendar

javascript - 如何使用 webpack 和 babel 导入 highcharts

javascript - 无法在固定位置关闭自定义弹出窗口

jquery - 如何使用 jquery 为背景大小设置动画

angularjs - Angular -UI-日历 : Open popup on calendar dayClick

javascript - 使用从 jQuery AJAX 响应返回的脚本

Javascript |将 src 更改为数据属性事件

javascript - FullCalendar 始终显示 2 小时事件