如何在全日历中禁用拖放

Posted

技术标签:

【中文标题】如何在全日历中禁用拖放【英文标题】:How do I disable drag and drop in fullcalendar 【发布时间】:2011-03-31 16:35:22 【问题描述】:

我在整个项目中都在使用 FullCalendar,我需要在我的网站的一个区域中显示它,在该区域中事件不可拖动,但要在月视图中保持突出显示。请有任何想法。

【问题讨论】:

截至 2017 年,正确答案是使用:'eventStartEditable: false'fullcalendar.io/docs1/event_ui/eventStartEditable 【参考方案1】:

您只需在初始化日历时将disableDragging option 设置为true。

$('#calendar').fullCalendar(
    disableDragging = true
);

【讨论】:

【参考方案2】:

我知道这是一个老问题,但没有人正确回答过这个问题,所以你去...

$('#example').fullCalendar(
    disableDragging: true
);

【讨论】:

如果你想禁用调整大小和拖动,那么你可以设置editable : false【参考方案3】:

DisableDragging 被替换为:eventStartEditable(从 1.6.3 版开始)

http://arshaw.com/fullcalendar/docs/removed/disableDragging/

【讨论】:

我想问是否有办法防止在月视图中拖动选择 - 换句话说,用户必须只能选择一个月份 @DimitrisPapageorgiou 抱歉,我不知道。我已经使用日视图和周视图完成了 99% 的工作。 我只是在构建一个约会网络应用程序,我只想让我的用户也可以从月视图中预订约会......通过只选择一天(因为根据定义,约会不能跨越更多超过 1 天)...无论如何,谢谢您的回答。 这是 2017 年的正确答案。更多信息:fullcalendar.io/docs1/event_ui/eventStartEditable【参考方案4】:
$('#calendar').fullCalendar(
    editable: false
);

【讨论】:

【参考方案5】:

检查下面的代码:

设置可编辑的 false 将禁用拖动

$('#calendar').fullCalendar(

editable: false,

);

【讨论】:

【参考方案6】:

在 v2 和 v3 中有一个新的表达式:eventStartEditable 应该设置为 false,用于禁用拖动。

此外,如果您想禁用“drop”(例如:从其他 div),您还应该将 droppable 设置为 false

【讨论】:

【参考方案7】:

要有条件地禁用事件拖放(基于每个事件),您可以在初始化全日历对象时使用eventAllow 选项。

eventAllow: function(dropLocation, draggedEvent) 
  if (draggedEvent.id === '999') 
    return dropLocation.start.isAfter('2016-01-01'); // a boolean
  
  else 
    return true; // or return false to disallow
  

参考:https://fullcalendar.io/docs/eventAllow

【讨论】:

【参考方案8】:

虽然晚了,但根据 FULL CALENDAR 中的新更新

disableDragging 现在已从 fullcalendar 中删除。

Here is the list of all Deprecated functions in full calander

所以要禁用拖动,您需要在创建事件对象的位置添加editable: false

如下所示。

this.events.push(
    id: meeting.id,
    title: "meeting 1",
    start: meetingStartDate,
    editable: false
);

【讨论】:

【参考方案9】:

不适用于我:disableDragging: true

下面的代码对我有用,所以请尝试:

$('#example').fullCalendar(
    eventStartEditable: false
);

以上代码停止将任何事件日期拖到另一个日期

【讨论】:

【参考方案10】:

对于版本 5.5.1,您想使用 editable 属性并将其设置为 false。这将确保事件无法调整大小或拖动。

【讨论】:

【参考方案11】:

这取决于版本:

$('#calendar').fullCalendar(
  ...
 disableDragging: true,
 editable: false,
 eventStartEditable: false,
  ...
);

【讨论】:

【参考方案12】:

如下所示放置eventStartEditable: false

initialView: 'resourceTimeline',
slotMinWidth:1,
eventDurationEditable: false, // Disable Resize
// disableResizing:false  Currently Not Working

eventStartEditable: false, // disable dreage drop
// disableDragging:false  Currently Not Working
eventTimeFormat: 
  hour: '2-digit',
  minute: '2-digit',
  hour12: true
,

它的工作

更多 https://fullcalendar.io/docs/v1/disableResizing https://fullcalendar.io/docs/v1/disableDragging

【讨论】:

以上是关于如何在全日历中禁用拖放的主要内容,如果未能解决你的问题,请参考以下文章

Electron 应用程序 - 如何在全屏模式下禁用/隐藏任务栏中的窗口

如何禁用日历中的未来日期? [复制]

如何在打开对话框时禁用拖放

如何在日历视图中禁用未来日期[重复]

如何在颤动中禁用日历中的前几天?

如何在日历javascript中禁用以前的日期?