FullCalendar, possible to set selectable false but allow select slot <p>I'm making an application with <a href="http://fullcalendar.io/" rel="nofollow">FullCalendar</a>.</p> <p>I noticed that with <code>selectable</code> set to <code>true</code>, the user was able to select multiple weeks or time slots which was not desired. On the other hand when I set <code>selectable</code> to <code>false</code>, then I can no longer use the select action that I want to be triggered when the user selects a time slot. Is there any way that <code>selectable</code> feature will remain to <code>false</code>, but still each time slot to be selectable on its own, not as part of group of time slots.</p> <p>Here is my code, passed as array through PHP:</p> <pre><code>'options'=&gt;array( 'header'=&gt;array( 'left'=&gt;'prev,next,today', 'center'=&gt;'title', 'right'=&gt; 'month,agendaWeek,agendaDay', ), 'minTime' =&gt; '09:00:00', 'maxTime' =&gt; '20:00:00', 'slotDuration' =&gt; '01:00:00', 'slotEventOverlap' =&gt; false, 'defaultTimedEventDuration' =&gt; '01:00:00', 'allDaySlot' =&gt; false, 'allDay' =&gt; false, 'lazyFetching'=&gt;true, 'weekends' =&gt; false, 'selectable' =&gt; true, 'height' =&gt; 'auto', 'contentHeight' =&gt; '150', // 'selectHelper' =&gt; true, // 'events'=&gt;array(), // pass array of events directly 'select' =&gt; new CJavaScriptExpression("function(start, end, jsEvent, view) { var currdisplay = view.name; var check = Date.parse(start) / 1000; var today = Date.parse(new Date()) / 1000; if (currdisplay != 'month' &amp;&amp; check &gt;= today) { var start1 = Date.parse(start) / 1000; var end = Date.parse(start) / 1000 + 3600; window.location.href = \"www.somelink.com/?from=\" + start1 + \"&amp;to=\" + end; }}"), 'dayClick' =&gt; new CJavaScriptExpression("function(date, jsEvent, view) { var currdisplay = view.name; if (currdisplay == 'month') { $('.calendar').fullCalendar('gotoDate', date); $('.calendar').fullCalendar('changeView', 'agendaWeek'); }}"), </code></pre> <p>I have currently a fix, as you probably can see in the code block:</p> <pre><code>var start1 = Date.parse(start) / 1000; var end = Date.parse(start) / 1000 + 3600; </code></pre> <p>These two lines make sure that if user select 5 time slots, to set the end time 1 hour (3600 seconds) after the start time, and not 5 hours later, but I'm not satisfied with this solution since I don't find it clean, and I don't like that <code>selectable</code> feature is still available.</p>