現在の日の前の数日間はカーソルを「ノードロップ」に設定し、現在の日の後の数日間は「ポインター」に設定しようとしています。
css: fc-past、fc-today、fc-future を使用してみましたが、うまく動作します。また、jquery プラグイン構成から試しても問題なく動作します。
dayRender: function( date, cell ) {
var yesterday = moment();
if (date <= yesterday) {
cell.css('background', '#F1F1F1');
cell.css('cursor', 'no-drop');
}else{
cell.css('cursor', 'pointer');
}
}
これは、イベントがない場合は正常に機能します。カレンダーにイベントがあると問題が発生します。Fullcalendar は、セル上にあり、カーソル スタイルが失われる、イベントのない日の空のセットを作成します。fc-content-skeleton には z-index 4 のテーブルがあり、この div はカーソル css を持つ fc-bg の上にあります。この fc-content-skeleton には、イベントごとに fc-event-container があります (css を設定できます) が、イベントのない日には、スタイルを設定できない空を作成します。これにより、マウスのカーソルをこれに設定できなくなります。その結果、同じ日に(イベントなしで)カーソルを移動すると、カーソルが空の . これは、 http://fullcalendar.io/ホームのショーケースで確認できます。
<div class="fc-content-skeleton">
<table>
<thead>
<tr>
<td class="fc-day-number fc-sun fc-past" data-date="2016-05-08">8</td>
<td class="fc-day-number fc-mon fc-past" data-date="2016-05-09">9</td>
<td class="fc-day-number fc-tue fc-past" data-date="2016-05-10">10</td>
<td class="fc-day-number fc-wed fc-past" data-date="2016-05-11">11</td>
<td class="fc-day-number fc-thu fc-past" data-date="2016-05-12">12</td>
<td class="fc-day-number fc-fri fc-past" data-date="2016-05-13">13</td>
<td class="fc-day-number fc-sat fc-past" data-date="2016-05-14">14</td>
</tr>
</thead>
<tbody>
<tr>
<td class="fc-event-container" colspan="2">
<a class="fc-day-grid-event fc-h-event fc-event fc-not-start fc-end fc-draggable fc-resizable">
<div class="fc-content">
<span class="fc-title">Long Event</span>
</div>
<div class="fc-resizer fc-end-resizer"/>
</a>
</td>
<!-- here comes the empty td for days that haven't have events -->
<td rowspan="6"/>
<td rowspan="6"/>
</tr>
...
...
</tbody>
</table>
</div>
カーソルをこの td に設定しようと多くの時間を費やしましたが、結果はありませんでした。この振る舞いは私を夢中にさせています。助けてくれてありがとう。
JS Bin からサンプルを追加: http://jsbin.com/qekajezepu/1/edit?js,output