2013-10-08 83 views
1

我使用Fullcalendar最新的,jQuery的1.10和qtip 2.Fullcalendar eventDestroy從未被稱爲

我只是在包含一個按鈕eventRender回調qtip添加元素在:

element.qtip({ 
    content: { 
     title: { text: event.title }, 
     text: '<button type="button" onclick="removeEvent(' + event.id + ')">Delete</button>' 
    }, 
    show: { 
     event: 'click', 
     solo: true 
    }, 
    hide: { 
     event: 'unfocus click' 
    } 
}); 

在選擇回調我有以下幾點:

$('#calendar').fullCalendar('renderEvent', 
    { 
     title: 'Available', 
     start: start, 
     end: end, 
     allDay: allDay 
    }, 
    true //make the event stick 
); 

然後這裏是移除事件代碼:

function removeEvent(eventId, userId) 
{  
    //Delete the event 
    $('#calendar').fullCalendar('removeEvents', eventId); 
} 

下eventDestroy回調我有:

element.qtip('destroy'); 

我的問題是,eventDestroy似乎從來沒有當我打電話回調被調用。

我成立了一個例子的jsfiddle這裏:http://jsfiddle.net/MusicMonkey5555/Zs657/1/

它的略有不同,但只要按一下,如果你想刪除它,然後它會彈出一個警告會提示日曆項目,但從來不會。

任何人都有一個想法,爲什麼它不工作?

回答

1

根據完整的日曆文件,eventDestroy僅適用版本開始1.6.3和你正在使用1.5

參見:http://arshaw.com/fullcalendar/docs/event_rendering/eventDestroy/

編輯:我其實只是通過修改你的小提琴進行了測試,它看起來像回調仍然沒有工作。但是,當你調整窗口大小時會觸發它(我假設這個lib是重新渲染事件並因此銷燬DOM)。

查看一下代碼,它看起來像eventDestroy回調僅在fullcalendar視圖被銷燬時調用。從未刪除單個事件。所以這將是該lib的當前限制。

就你而言,從removeEvent方法直接調用你的銷燬回調會更容易,因爲你不能依賴lib。

+0

我使用v1.6.4 確定這是有道理的。感謝您更多地關注它。我想我可以,我只是有一些問題得到的元素,所以我可以刪除與它相關的qtip。我似乎無法專門獲得該項目。 – MusicMonkey5555