Fullcalendar 防止 eventDidMount 在拖动时触发常量
Fullcalendar prevent eventDidMount triggers constanty while dragging
我有一个 Tippy.js 集成到 FullCalendar.js 日历中。
在日历中拖动事件时,工具提示变得异常,失去对触发它的事件的引用。
我认为问题在于我在 eventDidMount
挂钩内创建了 Tippy(工具提示)实例,每次拖动事件捕捉到日历单元格时都会在拖动时调用它,并且这就是它在此过程中触发大量工具提示的原因。
Fullcalendar 有一个 eventDragStart(eventInfo)
的钩子,但我不知道如何找到附加的 tippy 实例来隐藏它。还是我应该完全避免在拖动时创建工具提示?
//Other FullCalendar Initialization
...
eventDidMount: function(info) {
tippy(info.el, {
interactive: true,
delay: 300,
theme: 'light-border',
maxWidth: 400,
allowHTML: true,
appendTo: document.getElementById('mainContent'),
content(reference) {
//Tooltip content
return tempRendered;
},
});
}
eventDragStart(info){
//I SUPPOSE HERE I SHOULD DO SOMETHING TO HIDE THE TIPPY TOOLTIP
}
有什么想法吗?
嗯,我终于找到了在 FullCalendar 中解决这个问题的方法,而不是在 Tippy 中。
我在 eventDragStart 挂钩内的事件上设置了 _isDragging
属性:
eventDragStart: function(info) {
calendarInstance.getEventById(info.event.id).setExtendedProp( "_isDragging", true );
},
那样的话,我可以在 eventDidMount
挂钩中检查这个标志并防止创建 Tippy 工具提示。
eventDidMount: function(info) {
const isDragging =
calendarInstance.getEventById(info.event.id).extendedProps._isDragging;
if (isDragging != null && isDragging) {
return;
}
...
// Tippy Init
},
重要提示:
我将 _isDragging 属性 直接设置为 Calendar 实例中的事件实例,因为这些挂钩收到的 info.event args 没有即时创建的属性。或者至少我没有找到让它工作的方法。
我有一个 Tippy.js 集成到 FullCalendar.js 日历中。 在日历中拖动事件时,工具提示变得异常,失去对触发它的事件的引用。
我认为问题在于我在 eventDidMount
挂钩内创建了 Tippy(工具提示)实例,每次拖动事件捕捉到日历单元格时都会在拖动时调用它,并且这就是它在此过程中触发大量工具提示的原因。
Fullcalendar 有一个 eventDragStart(eventInfo)
的钩子,但我不知道如何找到附加的 tippy 实例来隐藏它。还是我应该完全避免在拖动时创建工具提示?
//Other FullCalendar Initialization
...
eventDidMount: function(info) {
tippy(info.el, {
interactive: true,
delay: 300,
theme: 'light-border',
maxWidth: 400,
allowHTML: true,
appendTo: document.getElementById('mainContent'),
content(reference) {
//Tooltip content
return tempRendered;
},
});
}
eventDragStart(info){
//I SUPPOSE HERE I SHOULD DO SOMETHING TO HIDE THE TIPPY TOOLTIP
}
有什么想法吗?
嗯,我终于找到了在 FullCalendar 中解决这个问题的方法,而不是在 Tippy 中。
我在 eventDragStart 挂钩内的事件上设置了 _isDragging
属性:
eventDragStart: function(info) {
calendarInstance.getEventById(info.event.id).setExtendedProp( "_isDragging", true );
},
那样的话,我可以在 eventDidMount
挂钩中检查这个标志并防止创建 Tippy 工具提示。
eventDidMount: function(info) {
const isDragging =
calendarInstance.getEventById(info.event.id).extendedProps._isDragging;
if (isDragging != null && isDragging) {
return;
}
...
// Tippy Init
},
重要提示: 我将 _isDragging 属性 直接设置为 Calendar 实例中的事件实例,因为这些挂钩收到的 info.event args 没有即时创建的属性。或者至少我没有找到让它工作的方法。