今天影响Fullcalendar按钮.fc-今日按钮

时间:2014-11-28 16:59:40

标签: javascript fullcalendar

我在点击“今天”时遇到自定义控件的问题。按钮是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');
    });

有谁知道这是为什么以及我做错了什么?

2 个答案:

答案 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;
&#13;
&#13;

答案 1 :(得分:0)

经过调查和MikeSmithDev的帮助(感谢迈克 - 你的帮助非常宝贵),看起来好像今天&#39;如果事件实际位于日历下方/之后,则会触发事件,其余的标题控件(button.fc-next-button等)似乎并不介意它们在物理位置上的位置。

可能第一个函数在日历加载完成之前执行...所以它可以工作,没有按钮可以将它绑定到。