You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

fullCalendar组件dayClick事件无响应问题求助

解决fullCalendar dayClick事件无响应的问题

我帮你检查了下你的代码,核心问题很明显——你没有在fullCalendar的配置中添加dayClick事件的回调函数,这就是点击日期区域没反应的直接原因。

修改后的完整代码

$('.full_calendar').fullCalendar({
    header: {
        left: 'prev,next, today',
        center: 'title',
        right: 'month,agendaWeek,agendaDay,listWeek',
    },
    defaultDate: '2018-03-12',
    navLinks: true, // 可点击日/周名称切换视图
    editable: true,
    eventLimit: true, // 事件过多时显示"更多"链接
    // 新增dayClick回调,处理日期点击逻辑
    dayClick: function(date, jsEvent, view) {
        // 这里替换成你需要的业务逻辑
        alert('你点击了日期:' + date.format('YYYY-MM-DD'));
        // 示例:打开添加日程的模态框、发起AJAX请求等
    },
    events: [
        {"title":"Email","start":"2018-03-21","className":"background_f05050","calender_type":0,"lifecycle_todo_id":31},
        {"title":"Personal Call","start":"2018-03-23","className":"background_5c9bec","calender_type":0,"lifecycle_todo_id":11},
        {"title":"Personal Call","start":"2018-03-23","className":"background_5c9bec","calender_type":0,"lifecycle_todo_id":17},
        {"title":"Personal Call","start":"2018-03-29","className":"background_f05050","calender_type":0,"lifecycle_todo_id":33},
        {"title":"Personal Call","start":"2018-05-03","className":"background_5c9bec","calender_type":0,"lifecycle_todo_id":12},
        {"title":"Personal Call","start":"2018-05-03","className":"background_5c9bec","calender_type":0,"lifecycle_todo_id":18},
        {"title":"Personal Call","start":"2018-05-06","className":"background_5c9bec","calender_type":0,"lifecycle_todo_id":30},
        {"title":"Email","start":"2018-05-08","className":"background_f05050","calender_type":0,"lifecycle_todo_id":32},
        {"title":"Personal Call","start":"2018-05-09","className":"background_f05050","calender_type":0,"lifecycle_todo_id":34}
        // 你的剩余事件数据...
    ]
});

关键说明

  1. 必须显式声明回调:fullCalendar不会自动监听dayClick事件,你需要在配置对象中主动添加dayClick属性并定义回调函数,才能响应日期点击。
  2. 回调参数详解
    • date:点击的日期对象,可通过format()方法转换为指定格式(比如YYYY-MM-DD
    • jsEvent:原生JavaScript点击事件对象,可用来获取点击坐标、触发元素等信息
    • view:当前日历的视图对象,可用来判断当前是月视图、周视图还是日视图
  3. 自定义业务逻辑:把示例中的alert替换成你实际需要的操作,比如打开添加日程的弹窗、提交AJAX请求创建新事件等。

额外排查点(如果添加后仍无响应)

  • 检查jQuery和fullCalendar的版本兼容性:你的代码看起来是fullCalendar v3.x版本,确保jQuery版本符合要求(v1.11.1+或v2.x)
  • 确认.full_calendar选择器正确选中了日历DOM元素
  • 打开浏览器控制台(F12)查看是否有语法错误或依赖加载失败的提示

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

火山引擎 最新活动