Fullcalendar - >更改颜色选定的事件

时间:2015-09-02 14:47:43

标签: javascript fullcalendar

我使用的是FullCalendar,但我无法更改所选日期事件的背景。 您点击的其他日子标有红色,但事件没有。我认为这是由CSS,但我不知道如何修改它以便运作良好。

我的代码:http://jsfiddle.net/y33wb52n/

的Javascript

$(document).ready(function() {
    var fecha_seleccionada;
    var tempVar = "";

    $('#calendar').fullCalendar({
        lang: "es",

        selectable: true,
        select: function(a, b) {
            fecha_seleccionada = a.format();
            //alert(fecha_seleccionada);
            var input_fecha = document.getElementById("input_fecha");
            input_fecha.value = fecha_seleccionada;
        },

        //defaultDate: '2015-02-12',
        editable: false,
        eventLimit: false, // allow "more" link when too many events
        events: [
                {
                    title: 'Evento',
                    width: '0',
                    start: '2015-09-17'
                },
                {
                    title: 'Evento',
                    width: '0',
                    start: '2015-09-19'
                }
        ],


        dayClick: function(date, allDay, jsEvent, view) {
            // change the day's background color just for fun
            if (tempVar == "")
            {
                $(this).css('background-color', 'red');
                tempVar = this;
            }
            else
            {
                $(this).css('background-color', 'red');
                $(tempVar).css('background-color', '#f6f6f6');
                tempVar = this;
            }
        }


    });
});

CSS

.fc-event-skin {
margin: -20px auto 0px auto; /* spacing between events and edges */
padding: 30px 0px;
border-radius: 0px !important;

}

HTML

<div id='calendar' style='margin:3em 0;font-size:13px'></div>

有任何帮助吗? 谢谢!

2 个答案:

答案 0 :(得分:1)

我相信这是因为如果您点击某个活动,那么您今天就不会点击该活动。我玩了你提供的例子,如果点击一个不改变颜色的事件,你可以实际点击背后那一天改变颜色的事件。

http://i.stack.imgur.com/OKDiR.png

因此,当您单击某个事件时,dayClick事件未触发,则eventClick事件正在触发。

http://fullcalendar.io/docs/mouse/eventClick/

不知道你应该如何从回调中得到事件背后的那一天。

答案 1 :(得分:0)

只需将此添加到您的css:

.fc-highlight {
    background-color:red;
}

这在点击日期时有效,所以你应该在你的fullcalendar jQuery中有这个:

$(document).ready(function() {
           $('#calendarID').fullCalendar({

           dayClick: function(date, jsEvent, view) {
                // some code
                $('#calendarID').fullCalendar('select', date);

           },
...