如何禁用拖动但仍在fullcalendar上显示工具提示

时间:2015-07-08 14:52:10

标签: jquery fullcalendar

我的代码是这样的:

eventMouseover: function(calEvent, jsEvent)
{
     xOffset = 0;
     yOffset = 0;
     tiptext = "";
     var view = $('#calendar').fullCalendar('getView');
     if (view.name == 'month')
     {
        if (tiptext)
        {
           tiptext = "<strong>" + calEvent.title + "</strong>" + "<br>" + tiptext;
           $("body").append("<p id='tooltip'>" + tiptext + "</p>");
           $("#tooltip")
              .css("z-index", 91000)
              .css("position", "absolute")
              .css("top", ($(this).offset().top + $(this).outerHeight() + yOffset) + "px")
              .css("left", ($(this).offset().left + xOffset) + "px")
              .fadeIn(400);
        }
     }
  },
  eventMouseout: function(calEvent, jsEvent)
  {
     $("#tooltip").remove();
  },

和我的比赛:

if(calEvent.title == "Holiday")
{
   element.draggable = false;
}

我有一个工具提示来描述假日活动, 工具提示工作正常,但是如果我将draggable设置为false,则工具提示将不再显示。 我仍然可以显示我的工具提示,尽管draggable设置为false吗?

1 个答案:

答案 0 :(得分:3)

您正在手动禁用假日活动的可拖动性。而是使用editable事件选项。在定义事件时定义它,如:

events: [{
    start: moment(),
    title: "Holiday",
    editable: true,
},],

或者将其添加到eventDataTransform回调中:

eventDataTransform: function(eventData){
    if(eventData.title === "Holiday")
        eventData.editable = false;
    return eventData;
},

此选项应禁用拖动(和调整大小)而不删除工具提示功能。

JSFiddle Demo