FullCalendar:如何停止拖动自定义事件?

Sai*_*ful 6 jquery fullcalendar

任何人都可以告诉我如何停止拖动/调整事件的位置event.id > 100?只有那些事件应该是不可拖动的.

更新了代码示例:

eventRender: function(event, element) {
    if (event.id > 100) {
        event.disableDragging();
        event.disableResizing();
    }

    element.qtip({
        content: GetEventToolTip(event),
        position: { corner: { tooltip: 'bottomLeft', target: 'topMiddle'} },
        style: {
            border: {
                width: 1,
                radius: 5
            },
            padding: 5,
            textAlign: 'left',
            tip: false,
            name: event.iscustom == 'True' ? 'cream' : 'dark'
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

谢谢.

小智 12

eventRender: function(event, element) {
    if (event.id.indexOf("IDENTIFYING_STRING") == -1) 
    {
        event.editable = false;
    }                       
}
Run Code Online (Sandbox Code Playgroud)


Aar*_*ron 4

从 1.4.8 开始,fullcalendar 中disableDragging没有定义disableResizing函数。我确信世界上有 2 个人还没有尝试过第一个建议:) 不过,您需要利用 jQuery UI 对象本身来禁用事件级别的拖动或调整大小。因此(而不是尝试使用不存在的函数)在回调中尝试以下操作:eventRender(event, element)

if (event.id > 100) {

    element.draggable = false;

}
Run Code Online (Sandbox Code Playgroud)

请注意,我只是在 jQuery 元素本身上设置该属性,因为它与 UI 的可拖动行为有关。

对于可调整大小也是如此,除了您需要class = ui-resizable-handle ui-resizable-s通过使用 jquery 选择器识别并删除 fullcalendar 附加的 div () 并将其删除(只需确保在 yoru events 数组中为每个事件设置唯一的 className,以便您可以轻松地在 ) 中识别它DOM。请请求 fullcalendar 开发人员向 Event 对象添加disableDragging和属性。disableResizing只需不到一分钟的时间即可将对此的支持添加到源中。