javascript - FullCalendar.js 如何将月 View 上的日期选择限制为一天

标签 javascript jquery fullcalendar

我正在使用FullCalendar.js我的网页上的日期选择器。

我想将完整日历小部件上的可选日期范围限制为仅限一天(默认设置是拖动多个日期,或单击单个日期)。我想有效地禁用用于选择多个日期的拖动功能,方法是:

  1. 禁用原生拖动事件(可能不正确)
  2. 将可选日期的日期范围限制为一天(这感觉更明智)

This question有关如何通过在 selectConstraint 中指定 startend 来使用周 View 将日期选择限制为一天的答案> 选项。但是,相同的解决方案不适用于月 View

如何将月 View 的日期选择范围限制为一天?

我的代码:

var calendar = new FullCalendar.Calendar(calendarEl, {
    plugins: [ 'interaction', 'dayGrid', 'timeGrid' ],
    selectable: true,
    header: {
      left: 'prev,next ',
      center: 'title',
      right: ''
    },
    validRange: {
      start: today
    },
    selectConstraint:{
      start: '00:01', 
      end: '23:59', 
    },
    dateClick: function(info) {
      custom_date = true;
      $("#start_date").val(info.dateStr);
      $("#end_date").val(info.dateStr);
    }
});

最佳答案

事实证明,您可以使用 selectAllow 函数。

首先使用 getTime()/1000 将日期字符串转换为秒。

将开始时间和结束时间与一天中的秒数 86400 进行比较。如果小于或等于该数字,则仅选择一天。

工作代码:

selectAllow: function (e) {
   if (e.end.getTime() / 1000 - e.start.getTime() / 1000 <= 86400) {
       return true;
   }
}

关于javascript - FullCalendar.js 如何将月 View 上的日期选择限制为一天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58567034/

相关文章:

javascript - 旋转 1 圈后暂停 SVG 动画

javascript - 将元数据添加到 jQuery UI 自动完成

Jquery .remove() 撤消?

javascript - Laravel Ajax Post 返回 500

javascript - 如何在全日历中从上个月和下个月开始不可点击日期?

javascript - 将缩略图添加到基本的 jQuery slider

javascript - 使用 jQuery 验证插件的图像尺寸规则

javascript - FullCalendar - 插槽持续时间在低于 1 时不起作用 :30 minutes

fullcalendar - 加载日历事件的速度非常慢,有什么优化方法吗?

javascript - 在什么情况下发出 HTTP 请求但未收到响应?