如何禁用日期控制按钮的 FullCalendar onClick 功能?

Posted

技术标签:

【中文标题】如何禁用日期控制按钮的 FullCalendar onClick 功能?【英文标题】:How to disable FullCalendar onClick function for date control buttons? 【发布时间】:2014-01-27 18:23:16 【问题描述】:

我希望有人对此有想法。我正在使用 FullCalendar (http://arshaw.com/fullcalendar/) 插件。我为“上一个”和“下一个”按钮添加了附加功能,以触发其他日历上的事件。用户单击按钮转到上一个或下一个日期后,我希望该按钮禁用 1-2 秒。这是我尝试过的。

“上一个”和“下一个”按钮的源代码如下所示:

<td class="fc-header-left">
<span class="fc-button fc-button-next fc-state-default fc-corner-right" unselectable="on"> 
  <span class="fc-text-arrow">›</span>
</span>
<span class="fc-button fc-button-prev fc-state-default fc-corner-left" unselectable="on">       
  <span class="fc-text-arrow">‹</span>
</span>
</td>

我的代码:

$('.fc-button-prev span').click(function()
    var spinner = createSpinner();
    $('.fc-button-prev').addClass('fc-state-disabled');
    $('.fc-button-next').addClass('fc-state-disabled');
    $('.fc-button-prev span').onclick = null;
    $('.fc-button-next span').onclick = null;
    setTimeout(function() 
      <% @doctors.each do |doctor| %>
          $('#calendar_<%= doctor.id %>').fullCalendar('prev');
      <% end %>
      $('.fc-button-prev').removeClass('fc-state-disabled');
      $('.fc-button-next').removeClass('fc-state-disabled');

      spinner.stop();
    , 2000);

);

这不起作用,每次用户单击按钮时都会出现新的微调器。如果用户在一秒钟内单击按钮 3 次,则会出现三个微调器。另外,超时后,日历会前后跳三天。

感谢您的帮助。

【问题讨论】:

【参考方案1】:

我使用以下代码将其禁用了 2 秒:

 $(function () 
            $('.fc-button-prev').click(disableNextPrev);
            $('.fc-button-next').click(disableNextPrev);
        );

        function disableNextPrev()
        
            $('.fc-button-prev').addClass('fc-state-disabled');
            $('.fc-button-next').addClass('fc-state-disabled');
            myVar = setTimeout(function () 
                // your custom code goes here
                //.... 

                 $('.fc-button-prev').removeClass('fc-state-disabled');
                 $('.fc-button-next').removeClass('fc-state-disabled');
                 clearTimeout(myVar);

             , 2000);
        

【讨论】:

以上是关于如何禁用日期控制按钮的 FullCalendar onClick 功能?的主要内容,如果未能解决你的问题,请参考以下文章

Fullcalendar跳转至今

FullCalendar 5 - 如何获取事件系列的结束日期 - eventClick?

如何将 Fullcalendar 插件中的日期与日期数组进行比较

jQuery FullCalendar:在议程视图中禁用滚动?

如何在特定日期之后阻止Fullcalendar中的日期

如何在FullCalendar v2.1.1中指定自定义日期范围?