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} // 你的剩余事件数据... ] });
关键说明
- 必须显式声明回调:fullCalendar不会自动监听dayClick事件,你需要在配置对象中主动添加
dayClick属性并定义回调函数,才能响应日期点击。 - 回调参数详解:
date:点击的日期对象,可通过format()方法转换为指定格式(比如YYYY-MM-DD)jsEvent:原生JavaScript点击事件对象,可用来获取点击坐标、触发元素等信息view:当前日历的视图对象,可用来判断当前是月视图、周视图还是日视图
- 自定义业务逻辑:把示例中的
alert替换成你实际需要的操作,比如打开添加日程的弹窗、提交AJAX请求创建新事件等。
额外排查点(如果添加后仍无响应)
- 检查jQuery和fullCalendar的版本兼容性:你的代码看起来是fullCalendar v3.x版本,确保jQuery版本符合要求(v1.11.1+或v2.x)
- 确认
.full_calendar选择器正确选中了日历DOM元素 - 打开浏览器控制台(F12)查看是否有语法错误或依赖加载失败的提示
内容的提问来源于stack exchange,提问作者Tarun Dhiman




