2017-12-07 8 views
0

2番目のイベントをクリックすると、どのようにイベントカラーをリセットするのでしょうか?今はイベントをクリックすると色が変わります。 2番目のイベントがクリックされると、最初のイベントの新しい色は同じになります。どのようにデフォルトの色にリセットするのですか?FullCalender - 2番目のイベントをクリックするとイベントカラーがリセットされます

マイコード:

eventClick: function (calEvent, jsEvent, view) { 

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

} 
+0

あなたはそれをキャッシュやイベントにクラスを追加する必要がありました(あなたがそれにスタイルを追加する)ことができHTML要素を提供すると、より多くの手助けをすることができます。 –

+0

」以外のhtmlはありません.JAからカレンダーをレンダリングしています。これのようにあなたを解決した。 'currentEventVariable!== null){ globalEventVariable.css( '背景色'、 '#33cc33') } var currentEvent = jQuery(this); currentEvent.css( '背景色'、 '#b3ffb3'); globalEventVariable = currentEvent; 'Improvmentsのために開きます。 – AllramEst

+0

あなたがそれを検査するときにスクリーンショットまたはコピー/ペーストカレンダー要素を作成します(要素を右クリックしてinspectをクリックすると、ブラウザは要素の内容を表示します) –

答えて

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を追加します。したがって、あるイベントはスタイルを持ち、別のイベントをクリックするとスタイルが失われ、新しいスタイルにスタイルが追加されます。

秒PS:あなたはEXPのためaddClassremoveClass後に任意の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'); 
    } 
}); 
関連する問題