如何禁用拖动但仍然在全日历上显示工具提示

How to disable dragging but still show tooltip on 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,我仍然可以显示我的工具提示吗?

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

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

或将其添加到 eventDataTransform 回调中:

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

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

JSFiddle Demo