You need to enable JavaScript to run this app. 使用FullCalendar 5.5.1报$(...).fullCalendar is not a function错如何解决
优惠活动
大模型
产品
解决方案
定价
更多

使用FullCalendar 5.5.1报$(...).fullCalendar is not a function错如何解决

问题原因
  • FullCalendar 从v4版本开始就彻底移除了jQuery依赖,不再提供$(...).fullCalendar()这类jQuery插件调用方式,你当前使用的v5.5.1属于新版本,沿用的v3及更早版本的语法自然会抛出方法不存在的错误。
  • 你参考的教程项目使用的是FullCalendar v3版本,所以原有写法可以正常运行,版本不匹配是核心问题。
解决方案

方案1:升级适配v5版本语法(推荐)

将原有jQuery式写法替换为v5原生JS调用方式,同时注意配置项的命名变更,修改后的代码示例如下:

document.addEventListener('DOMContentLoaded', function () {
    InitializeCalendar();
});

function InitializeCalendar() {
    try {
        // 直接获取DOM节点,不再用jQuery封装调用
        const calendarEl = document.getElementById('calendar');
        const calendar = new FullCalendar.Calendar(calendarEl, {
            timeZone: 'local', // 原timezone: false的等效配置
            headerToolbar: { // 原header配置在v5中更名为headerToolbar
                left: 'prev,next,today',
                center: 'title',
                right: 'dayGridMonth,timeGridWeek,timeGridDay' // 原视图名称对应更名
            },
            selectable: true,
            editable: false
        });
        // 手动调用渲染方法
        calendar.render();
    } catch (e) {
        alert(e);
    }
}

额外注意:v5采用模块化设计,你当前引入的基础CDN包不包含dayGrid、timeGrid等视图插件,需要额外引入对应插件包,或者直接替换为包含常用功能的完整整合包,避免出现视图不显示的问题。

方案2:降级到v3版本沿用原有代码

如果不想修改现有业务代码,可以直接将FullCalendar依赖替换为v3版本的CDN资源即可:

<!-- 替换原有v5的CDN地址 -->
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/fullcalendar@3.10.2/dist/fullcalendar.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/fullcalendar@3.10.2/dist/fullcalendar.min.css">

v3版本依赖jQuery和moment.js,你当前已经引入了moment.js,只需要确保jQuery资源在FullCalendar之前加载即可。

内容的提问来源于stack exchange,提问作者Rubit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.13 03:39:04