2011-01-13 24 views
3

フルカレンダーで他の月のセルにイベントを表示させないようにしたいと思います。私はeventRenderイベントでこれを行うことができると考えました。jQuery FullCalendarのレンダリングから他の月のイベントを防ぐ

$('#calendar').fullCalendar({ 
    events: $.fullCalendar.myFeed(), 
    eventRender: function (event, element) { 
     if (event.start.getMonth() != ????) 
      $(element).hide(); 
    } 
}); 

私は何を置き換えるのか分からないカレンダーの現在の月を取得します。誰もがいくつかのヒントを持っている?

答えて

3

このイベント内から親カレンダーを参照する方法はないと思います。 「this」はイベントオブジェクトを参照します。ビューが3番目のパラメータとして渡されることはわかりませんでした。あなたは今年のビュー(https://github.com/tpruvot/fullcalendar)とfullcalendarを使用する場合は

$('#calendar').fullCalendar({ 
     events: $.fullCalendar.myFeed(), 
     eventRender: function (event, element, view) { 
      if (event.start.getMonth() != view.start.getMonth()) 
       return false; 
     } 
    }); 
+0

。しかし、カレンダーに日付を表​​示しない方法もありますか? – Chookoos

+0

私はこれにも解決策が必要でした。誰かが同じ解決策を持っている場合は、いくつかのリンクを共有してください。 – user2518430

2

:私は、次のコードを使用してこれを実現することができました。 view.start.getMonth()を年表示に使用することはできません。

eventAfterRender: function (event, element, view) { 
    var col=element.closest('td').index()+1; 
    var $cellh=element.closest('table').find('thead td:nth-child('+col+')'); 
    if ($cellh.hasClass('fc-other-month') == true) 
      element.css('visibility','hidden') 
}, 
0

あなたはいくつかのカスタムスタイル

.fc-other-month { 
    background: white !important; 
} 

.fc-row .fc-bg { 
    z-index: 5; 
    pointer-events: none; 
} 

でそれを行うことができ、ここで解決策: 私はeventAfterRender通過ちょっとしたトリックを使用白い背景でcurent-monthの日にわたりfc-other-monthの日を使用して。良い解決策だ

0

eventRender: function(event, element) { 
 

 
    var view = $('#calendar').fullCalendar('getView'); 
 
    if (event.start.month() == view.intervalStart.month()) { 
 
    element.addClass("bg-blue"); 
 
    } 
 
},

関連する問題