我正在尝试在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一样。

09-21 00:08