簡體   English   中英

JavaScript / FullCalendar-將事件附加到事件呈現

[英]JavaScript/FullCalendar - Attaching event to event rendering

我的完整代碼在這里: http : //pastebin.com/nctMtX9m

我有一個FullCalendar實例,並使用事件對象的'className'屬性,在日歷渲染后將圖標添加到某些事件。 這些簡單的圖標指示日歷上的作業(事件)是否已經寄出。

$(window).load(function(){
$('a.shipped div span').prepend("<img src=\"/img/truck_white.png\" title=\"Shipped\" alt=\"Shipped\" style=\"padding:2px 5px 5px 0; width=\"16\" height=\"16\" />");});

這很棒! 問題在於,每當我更改視圖時(例如更改月份然后又回來),FullCalendar都會完全重新呈現事件! 這意味着它們現在沒有我的圖標,因為我的圖標添加過程在初始渲染之后僅發生一次。

我需要我的圖標添加過程在每次FullCalendar渲染事件時觸發。

我發現了這一點: http : //arshaw.com/fullcalendar/docs/event_data/events_function/,但是不幸的是,我的evens是通過PHP寫到頁面的,因此就腳本而言,它們是靜態定義的。 這個例子使我相信我只能使用外部數據源來做到這一點。 毫無疑問,這種級別的JavaScript不是我的強項。

如果我的事件數據是靜態定義的,我如何將圖標添加過程附加到每次Fullcalendar渲染事件時都會觸發的事件上?

謝謝!

編輯我發現了如何使用eventRender做我想做的事情,但是我似乎無法引用我想要的元素部分,因為現在渲染略有偏離。 我將繼續進行研究,並在找到答案時進行更新。

編輯2弄清楚了,因為我是新來的,所以無法發布答案。 明天將發布答案。

解決方案是使用eventRender。

eventRender: function(event, element) {
if(event.className == 'shipped'){
    var find = '<span class="fc-event-title">';
    var replace = find + '<img src="/img/truck_white.png" title="Shipped" alt="Shipped" class="event_icon" />';
    var newHTML = $(element).html().replace(find, replace);
    $(element).html(newHTML);
}
}

有點麻煩的查找/替換,但是可以用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM