我在点击“今天”时遇到自定义控件的问题。按钮是Fullcalendar的一部分。
我能找到的所有文档都告诉我Fullcalendar的内置控件可能会受到两种方法的影响:
所以,这个适用于我,适用于上一个,下一个月,一个月,AgendaWeek和agendaDay,但不适用于今天' (button.fc-today-button
):
$('body').on('click', 'button.fc-next-button', function() {
console.log('I Clicked Next');
});
有些文档也说这有效,虽然我不能在任何按钮上这样做:
$('.fc-next-button span').click(function(){
console.log('I Clicked Next');
});
有谁知道这是为什么以及我做错了什么?
答案 0 :(得分:2)
嗯,你想影响"今天"按钮,但您正在为" next"添加代码。按钮。你想做类似的事情:
$(".fc-today-button").click(function() {
alert('Clicked Today!');
});
这会将点击事件应用于任何类别" fc-today-button" (这是“今日”按钮所具有的类。)
工作示例:
$('#fullCal').fullCalendar({
events: [{
title: 'Event 1',
start: moment().add(1, 'h'),
end: moment().add(2, 'h'),
allDay: false
}],
header: {
left: '',
center: 'prev title next today',
right: ''
},
timezone:'local',
defaultDate: '2014-11-15',
editable: false,
eventLimit: false,
firstDay: 6,
defaultView: 'agendaWeek',
});
$(".fc-today-button").click(function() {
alert('Clicked Today!');
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.8.3/moment.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/2.1.1/fullcalendar.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/2.1.1/fullcalendar.min.js"></script>
<div id="fullCal"></div>
&#13;
答案 1 :(得分:0)
经过调查和MikeSmithDev的帮助(感谢迈克 - 你的帮助非常宝贵),看起来好像今天&#39;如果事件实际位于日历下方/之后,则会触发事件,其余的标题控件(button.fc-next-button
等)似乎并不介意它们在物理位置上的位置。
可能第一个函数在日历加载完成之前执行...所以它可以工作,没有按钮可以将它绑定到。