JavaScript/FullCalendar语言 - 将事件附加到事件渲染



我的完整代码在这里: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/但不幸的是,我的偶数是由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);
}
}

这是一个有点复杂的查找/替换,但它工作。

相关内容

  • 没有找到相关文章

最新更新