我正在尝试在PerfectScrollbar
上应用FullCalendar
,但可悲的是:
PerfectScrollbar不是函数
这很奇怪,因为PerfectScrollbar
在我的应用程序的其他地方已成功应用。
这是我对FullCalendar
的实现:
$calendar = $('#fullCalendar');
$calendar.fullCalendar({
viewRender: function(view, element) {
// We make sure that we activate the perfect scrollbar when the view isn't on Month
if (view.name != 'month') {
$(element).find('.fc-scroller').perfectScrollbar();
}
}, ...
我做错了什么?
更新:
这不会显示错误:
var scroller = $(element).find('.fc-scroller')[0];
var ps = new PerfectScrollbar(scroller, {
wheelSpeed: 2,
wheelPropagation: true,
minScrollbarLength: 20,
suppressScrollX: true
});
但不显示
PerfectScrollBar
最佳答案
这个问题有些陈旧(9mo),但至少与其他问题仍然相关。
问题是1,您定位的是错误的“ .fc-scroller”(确实有多个),2,perfect-scrollbar的父级必须具有“ position:relative”。
FullCalendar v4:
import { Calendar } from '@fullcalendar/core';
import PerfectScrollbar from 'perfect-scrollbar'
const calendar = new Calendar(calendarEl, {
viewSkeletonRender(){
const el = document.querySelector('.fc-body .fc-time-area .fc-scroller')
if (el) {
el.style.overflow = 'hidden'
el.style.position = 'relative'
new PerfectScrollbar(el)
}
}
})
对于v3,使用相同的代码段,但在'viewRender'方法中使用了该代码段。就像@sfarzoso一样。