gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 02:21:53 25 4
gpt4 key购买 nike

我的完整代码在这里: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\" />");});

这很好用!问题是,每当我更改 View (例如更改月份然后返回)时,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);
}
}

这有点复杂的查找/替换,但它有效。

关于JavaScript/FullCalendar - 将事件附加到事件渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15533450/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com