有人可以告诉我如何停止拖动/调整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'
}
});
}
感谢。
答案 0 :(得分:12)
eventRender: function(event, element) {
if (event.id.indexOf("IDENTIFYING_STRING") == -1)
{
event.editable = false;
}
}
答案 1 :(得分:4)
从1.4.8开始,在fullcalendar中定义的disableDragging
和disableResizing
都不是函数。我确信世界上有2个人没有尝试过第一个建议:)但是,你需要点击jQuery UI对象本身来禁用在事件级别的拖动或调整大小。所以(而不是尝试使用不存在的函数)在eventRender(event, element)
回调中尝试这个:
if (event.id > 100) {
element.draggable = false;
}
请注意,我只是在jQuery元素本身上设置属性,因为它与UI的可拖动行为有关。
同样适用于可调整大小的EXCEPT,你需要删除fullcalendar附加的div(class = ui-resizable-handle ui-resizable-s
),方法是用jquery选择器识别它并删除它(只需确保为每个事件设置一个唯一的className)在yoru事件数组中,您可以在DOM
中轻松识别它。请请求fullcalendar开发人员向Event对象添加disableDragging
和disableResizing
属性。只需不到一分钟的时间就可以向源添加支持。
答案 2 :(得分:3)
这对我来说很完美:
if ( event.id > 100 ) {
element.draggable = false;
element.resizable = false;
}
答案 3 :(得分:3)
这是最好的解决方案:
$('#calendar').fullCalendar({
disableDragging = true
});
答案 4 :(得分:2)
if(event.id > 100)
{
event.disableDragging();
event.disableResizing();
}
答案 5 :(得分:2)
FullCalendar v1.6.4
eventRender: function(jsEvent, element) {
if(jsEvent.id > 100) {
jsEvent.startEditable = false;
jsEvent.durationEditable = false;
}
return element;
}
这个解决方案对我来说就像一个魅力。
我使用Ruby Gem" Fullcalendar_engine"实现了这个JS库。
答案 6 :(得分:0)
你必须破解fullcalendar.js
取消注释行
t.isEventDraggable = isEventDraggable;
t.isEventResizable = isEventResizable;
替换功能:
function isEventDraggable(event) {
return isEventEditable(event) && !opt('disableDragging') &&
!event.disableDragging;
}
function isEventResizable(event) { // but also need to make sure the seg.isEnd == true
return isEventEditable(event) && !opt('disableResizing') &&
!event.disableResizing;
}
现在您可以根据需要为每个事件启用/禁用调整大小和拖动。
答案 7 :(得分:0)
我没有成功使用此处显示的方法。我最终黑客攻击fullcalendar.js为事件添加noDragging
选项,这实际上非常简单:
原:
function isEventDraggable(event) {
return isEventEditable(event) && !opt('disableDragging');
}
将其更改为:
function isEventDraggable(event) {
return isEventEditable(event) && !opt('disableDragging') && !event.noDragging;
}
刚刚添加了event.noDragging
的支票。
答案 8 :(得分:0)
element.draggable = false
和event.ediable = false
都不适合我。必须是因为FullCalendar的更新版本。如果这也是你的情况,请尝试:
if ( event.id > 100 ) {
event.startEditable = false;
}
为我工作。
或者你可以在放弃后取消移动事件:
eventDrop: function (event, delta, revertFunc) {
if (event.id < 100)
revertFunc();
}
答案 9 :(得分:0)
在editable中只写false,它不能拖放 editable:false
答案 10 :(得分:-2)
在创建fullcalendar时使用这些标记以禁用拖动或调整大小。
**> $('#calendar').fullCalendar({
>
> editable: false,
>
> //the rest of your code... }**
答案 11 :(得分:-4)
在创建fullcalendar时使用这些标记以禁用拖动或调整大小。 arshaw文档不是很解释,但这是如何解释它们。
$('#calendar').fullCalendar({
disableResizing:true,
disableDragging:true,
//the rest of your code...
disableDragging :布尔值,默认:false
即使事件可编辑,也会禁用所有事件拖动。
disableResizing :布尔值,默认:false
即使事件可编辑,也会禁用所有事件大小调整。