我加引導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