我加引导popovers到上依次打开日历事件: 回调改变
eventClick: (event, jsEvent, view) ->
if event.ajaxUrl?
elem = jQuery(@)
elem.popover('destroy')
jQuery.ajax({url: event.ajaxUrl})
.done (result) ->
elem.popover(
placement: 'top'
html: true
trigger: 'manual'
title: moment(event.start).format('dddd, DD. MMMM YYYY - HH:mm')
content: result
container: 'body')
elem.popover('show')
我的问题是,这些popovers继续开放,当我改变日历视图(如更改月份或周/日布局)。由于弹出窗口绑定到日历内的div/span,我需要访问这些DOM元素才能运行.popover('destroy')
。
每当fullCalendar视图发生更改时,旧的DOM元素将被替换为新视图的元素,所以在实际更改视图之前,我必须先访问它们。不幸的是,只有回调事件加载(loading
发生在视图更改后)和viewDisplay
(相同,但您获得新视图)。
为了确保我理解正确viewDisplay
,我增加了一个小测试,它总是给我的日历“0”(数据选择器来自jquery data selector)
viewDisplay: (view) ->
alert(jQuery('.fc-event:data(popover)').size())
有没有办法挂接到日历过程每次视图都要更改 - 但在视图实际更改之前?
编辑
现在我只是破坏popovers一旦鼠标移动到任何日历按钮(如绑定到click
将视图改变后执行),但这种解决方案仅仅是一个解决方法
jQuery('.fc-button').on 'mouseover',() ->
jQuery('.fc-event:data(popover)').popover('destroy')
我想我研究过'viewRender',并且出现了一个问题,但是很久以前。我会看看它是否解决了它,如果是的话,接受你的答案。 – stex