Итак, в основном все мои события (есть мин. 360 из них) имеют team1 vs. team2
или - vs. team2
или team1 vs. -
заполнители. И при первоначальных событиях рендеринга меняется цвет в зависимости от того, имеет ли событие одну или две команды. Оранжевый цвет для одной команды и зеленый для двух команд. Кроме того, событие меняет цвет при нажатии.fullcalendar event rendering performance issue
Но в основном я заинтересован в повышении производительности с помощью событий рендеринга.
Эффективность рендеринга в полноэкранном режиме очень плохая, и я не смог найти решение этой проблемы.
Так вот мой код:
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
statement - он выполняет итерацию по событиям, а затем делает вещи, которые я хочу делать с отдельным событием, но только тогда, когда цикл попадает на событие с кликом.
Кроме того, в eventClick
я назвал $('#myCalendar').fullcalendar('updateEvent',event)
, и я думаю, что есть ошибка, потому что он автоматически переходит в eventAfterRender
или eventRender
, снова итерации по коллекции целых событий.
Даже жесткий параметр 'updateEvent'
должен дать команду fullCalendar обновить/отобразить только конкретное событие.
У кого-нибудь есть совет по этой теме?
Возможно, вы используете неправильную функцию. Каково ваше требование, вы можете уточнить, что –