Fullcalendar 更改日历视图之前的回调

Fullcalendar 更改日历视图之前的回调,fullcalendar,Fullcalendar,我将引导弹出窗口添加到日历事件中,这些事件在单击时打开: event点击:(事件,jsEvent,视图)-> 如果event.ajaxUrl? elem=jQuery(@) 元素popover('destroy') ajax({url:event.ajaxUrl}) .完成(结果)-> 波弗( 位置:'顶部' html:对 触发器:“手动” 标题:矩(event.start).format('dddd,DD.MMMM-YYYY-HH:mm')) 内容:结果 容器:'主体') 元素popover

我将引导弹出窗口添加到日历事件中,这些事件在单击时打开:

event点击:(事件,jsEvent,视图)->
如果event.ajaxUrl?
elem=jQuery(@)
元素popover('destroy')
ajax({url:event.ajaxUrl})
.完成(结果)->
波弗(
位置:'顶部'
html:对
触发器:“手动”
标题:矩(event.start).format('dddd,DD.MMMM-YYYY-HH:mm'))
内容:结果
容器:'主体')
元素popover(‘show’)
我的问题是,当我更改日历视图(例如,更改月份或周/日布局)时,这些弹出窗口保持打开状态。由于popover绑定到日历中的
.fc事件
divs/span,我需要访问这些DOM元素来运行
.popover('destroy')

无论何时更改fullCalendar视图,旧的DOM元素都会替换为新视图的元素,因此我必须在视图实际更改之前访问它们。不幸的是,只有事件加载的回调(
加载
,在视图更改后发生)和
视图显示
(相同,但您得到了新视图)

为了确保我正确理解了
viewDisplay
,我在日历中添加了一个小测试,它总是给我“0”(数据选择器来自)

view显示:(视图)->
警报(jQuery('.fc事件:数据(popover)')).size()
是否有一种方法可以在每次视图更改时(但在视图实际更改之前)挂接到日历进程

编辑

现在,我只是在鼠标移动到任何日历按钮上时销毁弹出框(因为视图更改后将执行绑定到
单击
),但此解决方案只是一种变通方法

jQuery(“.fc按钮”)。在“鼠标悬停”上,()->
jQuery('.fc事件:数据(popover)')。popover('destroy')
V3

我想你在找我

来自博士

viewRender

在呈现新的日期范围或视图类型时触发 开关。函数(视图、元素)视图是 新观点。元素是新容器的jQuery元素 视图

当用户更改视图时将触发此回调,或者 调用任何日期导航方法时

此回调将在视图完全呈现后触发, 但是,在渲染事件之前(另请参见:eventAfterAllRender)

更新 V4从viewRender重命名为datesRender


V5从datesRender重命名为datesSet在V4中,viewRender已被弃用,请查看发行说明,现在它们有:

“viewSkeletonRender”回调是在装载新视图时触发的,它接收一个视图对象,其中包含许多好的内容

“ViewSkeletonestory”回调,在旧视图即将卸载之前触发

--


或者,Think可能无法直接回答问题,您可以使用“datesRender”回调。我需要的是在上一个、下一个或视图更改时运行一个函数。(我必须根据日期范围和视图计算事件类型的总小时数)

我想我查看了
viewRender
,发现了一个问题,但这是很久以前的事了。我会看看它是否能解决问题,如果可以的话,接受你的答案