Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.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 更改FullCalendar事件(v4)的背景颜色_Javascript_Html_Css_Fullcalendar_Fullcalendar 4 - Fatal编程技术网

Javascript 更改FullCalendar事件(v4)的背景颜色

Javascript 更改FullCalendar事件(v4)的背景颜色,javascript,html,css,fullcalendar,fullcalendar-4,Javascript,Html,Css,Fullcalendar,Fullcalendar 4,我试图在FullCalendar v4中实现一个“选定事件”行为,但没有成功。 我想要的行为是: 单击事件时,其颜色会发生变化,该事件将成为选定事件 单击其他事件时,上一个选定事件的颜色将更改为默认颜色,而新单击的事件将成为选定事件并更改颜色 在事件外部单击时,所选事件将变为null,所有可见事件都将使用默认颜色 第一个问题是更改单击事件的背景颜色,但我没有成功 FullCalendar v4文档的背景颜色有点模棱两可。 我尝试了以下方法(示例): 在我设置的 const calendar

我试图在FullCalendar v4中实现一个“选定事件”行为,但没有成功。 我想要的行为是:

  • 单击事件时,其颜色会发生变化,该事件将成为选定事件
  • 单击其他事件时,上一个选定事件的颜色将更改为默认颜色,而新单击的事件将成为选定事件并更改颜色
  • 在事件外部单击时,所选事件将变为null,所有可见事件都将使用默认颜色
第一个问题是更改单击事件的背景颜色,但我没有成功

FullCalendar v4文档的背景颜色有点模棱两可。 我尝试了以下方法(示例):

在我设置的

const calendar = new Calendar(this.calRef.current, {
    ...
    eventClick: this.eventClick
    ...
}
第一种方法使用setProp方法,如下所述

但这不起作用

第二种方法使用如上所述的元素样式

这也不行


我做错了什么?

但是我看不出你的第二种方法有任何问题,它应该可以正常工作:如果你仍然有问题,你能做一个我们可以用来实际看到你的问题发生的报告吗?谢谢ADyson这么快的回答。我发现我也有一个类应用于我有背景色的事件!重要财产。所以颜色没有被否决。我该怎么办?回答我自己的问题?我不明白为什么第一种方法不起作用。文档中明确提到,调用
setProp
将重新引发事件!这取决于您是否认为其他想要使用fullCalendar的人会对该事实感兴趣。我认为可能不是,因为这是非常具体的情况。因此,也许最好的办法就是删除这个问题,但我看不出你的第二种方法有任何问题,它应该可以很好地工作:如果你仍然有问题,你能做一个我们可以用来实际看到你的问题发生的例子吗?谢谢ADyson这么快的回答。我发现我也有一个类应用于我有背景色的事件!重要财产。所以颜色没有被否决。我该怎么办?回答我自己的问题?我不明白为什么第一种方法不起作用。文档中明确提到,调用
setProp
将重新引发事件!这取决于您是否认为其他想要使用fullCalendar的人会对该事实感兴趣。我认为可能不是,因为这是非常具体的情况。所以也许最好的办法就是删除这个问题
eventClick = (info) => {
    info.event.setProp('backgroundColor', 'red')
}
eventClick = (info) => {
    info.el.style.backgroundColor = 'red';
}