Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 完整日历V4-单击事件时,如何更改日期的颜色_Javascript_Angular_Fullcalendar_Fullcalendar 4 - Fatal编程技术网

Javascript 完整日历V4-单击事件时,如何更改日期的颜色

Javascript 完整日历V4-单击事件时,如何更改日期的颜色,javascript,angular,fullcalendar,fullcalendar-4,Javascript,Angular,Fullcalendar,Fullcalendar 4,我使用的是每月视图。我显示所有日期,并希望将每天标记为“工作日”、“加班日”、“假日”等 我把上面的每一个标签都做成了事件,它显示得很好。我的下一个目标是选择一个日期并申请休假。当我点击一天时,它会触发dateClick,我将背景颜色更改为绿色。如果我再次选择相同的日期,我会将背景颜色改回白色。这给人一种用户选择/取消选择日期的感觉。可以像这样选择多个日期,颜色将变为绿色,我维护一个选定日期的列表 if (info.dayEl.style.backgroundColor == 'green')

我使用的是每月视图。我显示所有日期,并希望将每天标记为“工作日”、“加班日”、“假日”等

我把上面的每一个标签都做成了事件,它显示得很好。我的下一个目标是选择一个日期并申请休假。当我点击一天时,它会触发dateClick,我将背景颜色更改为绿色。如果我再次选择相同的日期,我会将背景颜色改回白色。这给人一种用户选择/取消选择日期的感觉。可以像这样选择多个日期,颜色将变为绿色,我维护一个选定日期的列表

if (info.dayEl.style.backgroundColor == 'green') {
    info.dayEl.style.backgroundColor = 'white';
  } else {
    info.dayEl.style.backgroundColor = 'green';
  }
问题:当我单击一天中的事件(如加班等)时,我无法更改当天整个单元格的背景色

单击事件时,会触发eventClick,在该函数中,我尝试通过执行以下操作来触发“选择”

this.fullCalendarMonthly.getCalendar().select(info.event.start)

但是它没有任何html元素和样式


还有其他方法可以实现吗?

在事件单击时,我循环使用css类来完成它

var week = info.el.closest(".fc-content-skeleton").closest(".fc-week");
var days = week.querySelectorAll(".fc-day");
days.forEach(day => {
  if (day.attributes["data-date"].value == currentDate) {
      day.style.backgroundColor = '#123';
  }
});