【发布时间】:2015-08-07 17:54:17
【问题描述】:
所以,基本上我所有的事件(至少有 360 个)都有 team1 vs. team2 或 - vs. team2 或 team1 vs. - 占位符。
并且在最初的渲染事件中,根据事件是否有一个或两个团队来改变颜色。
橙色为一队,绿色为两队。此外,事件在点击时会改变颜色。
但大多数情况下,我对通过渲染事件提高性能感兴趣。
fullCalendar 的渲染性能非常糟糕,我找不到任何解决此问题的方法。
这是我的代码:
eventRender: function (event, element) {
$(element).append((event.teams[0] != null ? event.teams[0] : '-') + '</br> vs. </br>' + (event.teams[1] != null ? event.teams[1] : '-'));
if (event.teams.length === 1) {
$(element).css('background', 'orange');
}
else if (event.teams.length > 1) {
$(element).css('background', 'green');
}
}
我的主要问题是,当我单击事件以更改其颜色时,脚本会自动转到 eventRender 或 eventAfterRender 事件,其行为与 for 语句完全相同 - 它迭代事件并然后它会做我想对单个事件做的事情,但只有当循环落在点击事件上时。
另外,在eventClick 中,我调用了$('#myCalendar').fullcalendar('updateEvent',event),我认为存在一个错误,因为它会自动转到eventAfterRender 或eventRender,再次遍历整个事件集合。
即使是严格的 'updateEvent' 参数也应该指示 fullCalendar 仅更新/呈现特定事件。
有人对这个问题有什么建议吗?
【问题讨论】:
-
您可能使用了错误的功能。你的要求是什么,你能详细说明一下吗
标签: javascript jquery performance fullcalendar rendering