1

jQueryプラグインfullcalendarのマルチユーザーバージョンを開発しています。各ユーザーには固有の色があります。ドロップダウンでユーザーを変更します。そのため、ユーザーの既存のイベントに色を割り当てることができます。

問題は、新しいイベントをレンダリングするときに、初期化時にfullCalendarの「eventColor」プロパティに割り当てられた色が変更されないことです。

たとえば、ユーザー1に青いイベントがあるとします。fullCalendarを'eventColor'blueで初期化します。黄色のイベントがあるユーザー2に変更すると、レンダリングされたイベントにはまだ青色のイベントが表示されます。ドラッグを開始してからリリースするまで、イベントを黄色にします。

$('。calendar')。fullCalendar('option'、'eventColor'、'NEW_COLOR_HERE');でイベントレンダリングの色を変更してみました。しかし、それは機能しません。

誰かが同じ状況にいることに気づき、解決策を思いついたのですか?:)

4

3 に答える 3

0
function option(name, value) {

        if (value === undefined) {
           return options[name];
        }
        if (name == 'height' || name == 'contentHeight' || name == 'aspectRatio') {
            options[name] = value;
            updateSize();
        }
       // So I added these lines to the plugin and voila, it works like charm!
       if(name == 'eventColor') {
           options[name] = value;
       }
}

スクリプトで呼び出す

$('.calendar').fullCalendar('option', 'eventColor', '#NEW_COLOR_HERE');
于 2012-11-17T09:12:30.653 に答える
0

グローバル カラーを変更する場合は、 を試してくださいrerenderEvents

しかし、1 つのイベント (たとえば from ) のevent プロパティを設定してから、 を呼び出したいと思うかもしれません。coloreventClickupdateEvent

これは役に立ちますか?

于 2012-11-16T20:03:46.890 に答える
0

イベントの色をプログラムで変更する方法の 1 つは、最初に で (その ID に基づいて) イベントを取得しclientEvents、その色を変更して、最後に でイベントを再レンダリングすることupdateEventです。

event = $('#full-calendar').fullCalendar('clientEvents', event_id)
event.color = 'red'
$('#full-calendar').fullCalendar('updateEvent', event)
于 2015-04-07T12:08:09.273 に答える