FullCalender - 单击第二个事件时重置事件颜色

时间:2017-12-07 12:24:14

标签: javascript jquery css calendar

我很想知道当您点击第二个事件时如何重置事件颜色?现在,当您单击某个事件时,我正在更改颜色。单击第二个事件时,第一个事件的新颜色是相同的。如何将其重置为默认颜色?

我的代码:

eventClick: function (calEvent, jsEvent, view) {

   jQuery(this).css('background-color', '#b3ffb3');

}

1 个答案:

答案 0 :(得分:0)

使用日历元素更新/编辑您的问题。

这将让您了解如何实现这一目标:

HTML (日历元素[据说]):

<table id="calendar">
    <tr>
        <td>1</td>
        <td class="event">2 (event)</td>
        <td>3</td>
    </tr>
    <tr>
        <td>4</td>
        <td>5</td>
        <td>6</td>
    </tr>
    <tr>
        <td class="event">7 (event)</td>
        <td>8</td>
        <td>9</td>
    </tr>
</table>

<强> JS / Jquery的

jQuery('#calendar').on('click', '.event', function(){
    if(!$(this).hasClass('special')){
        $(this).parents('#calendar').find('.event.special').removeClass('special');
        $(this).addClass('special');
    }
});

<强> CSS

.special {color: red;}

P.S :通过这种方式,您将为要点击的事件添加一个类.special,并检查从其他事件中删除该类。所以,一次只有一个事件具有风格,并且通过点击另一个事件,它将失去其风格和风格将添加到新事件。

Sec P.S :您可以在addClassremoveClass之后为exp添加任何jquery函数:

jQuery('#calendar').on('click', '.event', function(){
    if(!$(this).hasClass('special')){
        $(this).parents('#calendar').find('.event.special').removeClass('special').css('background-color', '');
        $(this).addClass('special').css('background-color', '#b3ffb3');
    }
});