Javascript 事件对象属性“;资料来源;返回[对象]

Javascript 事件对象属性“;资料来源;返回[对象],javascript,fullcalendar-3,Javascript,Fullcalendar 3,我希望根据事件对象的源以不同的方式呈现事件,但即使fullcalendar文档声明 源“事件源对象。自动填充。对的引用 此事件来自的事件源。“ 我无法查询事件对象的“源”属性 console.log(event.source)导致[对象] 我正在使用多个谷歌日历事件源,但文档中似乎没有任何内容表明我不能这样做 我最初计划基于过滤的事件源(由一个调用包含复选框的模式的自定义按钮触发)呈现事件,但我花了很长时间阅读文档、代码示例和大量建议,最后决定放弃这个想法。最后,我使用“removeEventS

我希望根据事件对象的源以不同的方式呈现事件,但即使fullcalendar文档声明

“事件源对象。自动填充。对的引用 此事件来自的事件源。“

我无法查询事件对象的“源”属性

console.log(event.source)导致
[对象]

我正在使用多个谷歌日历事件源,但文档中似乎没有任何内容表明我不能这样做

我最初计划基于过滤的事件源(由一个调用包含复选框的模式的自定义按钮触发)呈现事件,但我花了很长时间阅读文档、代码示例和大量建议,最后决定放弃这个想法。最后,我使用“removeEventSources”删除了所有eventSources,然后使用“addEventSource”逐个添加每个源(取决于选择的过滤器选项)

似乎没有内置的机制或直接的功能来过滤事件源(尤其是Google日历),我怀疑查询事件对象的“源”属性的能力将允许我们使用不同的方法来完成此类功能并缩短加载时间

其他用例示例:

如果要在事件中确定“源”,请单击或渲染以决定是否使用某些字段,例如

if event source == Holiday Cal do not display event.start & event.end

所以我的问题是:

有人知道我为什么不能查询下面链接中记录的事件对象的“source”属性吗

完整日历文档屏幕截图:


您看到的消息告诉您,
event.source
是一个对象,因此
console.log()
不会向您显示太多内容。但是,包括:

...
calendar: t {loadingLevel: 0, ignoreUpdateViewSize: 0, freezeContentHeightDepth: 0, el: w.fn.init(1), viewsByType: {…}, …}
className: ["TestCase"]
googleCalendarId: "e0kujgeepc0ev00eojborllms8@group.calendar.google.com"
... etc
您可以使用这些属性中的任何一个来测试您正在查看的源,例如(不确定为什么
className
是一个数组,但这与此问题无关):

这会在不同的模式下打开你的事件,这取决于源,我理解这是你正在尝试做的事情之一


旁注-如果您试图为您的问题创建一个解决方案,您将使ppl更容易提供帮助。您的代码笔包含大量与问题完全无关的内容,我们在查看问题时必须仔细阅读、评估并丢弃这些内容。

您的代码在哪里?这可能是一个影响Google Calendar eventSources的一般性问题,而不仅仅是我的情况,因此我不完全确定它是否证明了特定代码示例的合理性。不过,不要惊慌,我还是创建了一个代码笔:堆栈溢出几乎总是需要代码:-),即使您认为它是FullCalendar中的一个bug,您将需要显示演示它的代码。顺便说一句,您可能希望更改您的Google日历API密钥,因为它是公开的。感谢您的响应和Codepen示例,它提供了一些有用的见解。注意到了指针。
...
calendar: t {loadingLevel: 0, ignoreUpdateViewSize: 0, freezeContentHeightDepth: 0, el: w.fn.init(1), viewsByType: {…}, …}
className: ["TestCase"]
googleCalendarId: "e0kujgeepc0ev00eojborllms8@group.calendar.google.com"
... etc
$target = (event.source.className[0] === 'HolidaysUK') ? $modal1 : $modal2;