当鼠标悬停在另一个事件上时,Fullcalendar会更改事件的颜色

时间:2018-01-17 09:14:21

标签: javascript fullcalendar fullcalendar-scheduler

我尝试做的是当我将鼠标放在另一个事件上时更改事件的颜色。例如,当我将鼠标悬停在事件58335上时,58345的颜色将从橙色变为蓝色。

Calendar

我使用eventMouseover事件 - https://fullcalendar.io/docs/mouse/eventMouseover/但无法弄清楚如何访问其他事件。我跟踪了jsEvent,希望我能找到其他事件的参考但是找不到任何事件。

有什么建议吗?任何帮助将非常感谢!

1 个答案:

答案 0 :(得分:0)

要访问其他事件,您可以使用“clientEvents”方法,该方法可以检索屏幕上当前可见的任何或所有事件。它可以提供过滤器,以根据您的要求将结果限制为特定事件。然后,您可以使用“updateEvent”方法告诉日历使用其新值更新该事件。

这是eventMouseover函数:

eventMouseover: function(event, jsEvent, view) {
  if (event.id == 58335) {
    var targetEvents = $("#calendar").fullCalendar("clientEvents", 58345); //restrict to event(s) with the ID specified in the second argument
    targetEvents[0].backgroundColor = "blue";
    $("#calendar").fullCalendar("updateEvent", targetEvents[0]);
  }
}

请参阅http://jsfiddle.net/sbxpv25p/106/进行工作演示。

有关所使用的fullCalendar方法的详细信息,请参阅https://fullcalendar.io/docs/event_data/clientEvents/https://fullcalendar.io/docs/event_data/updateEvent/

大概当你鼠标移出时你想改变原来的颜色?如果是这样,那么您可以使用与eventMouseOut回调相同的方法。