在 FullCalendar v4 中添加自定义右键单击上下文菜单

sta*_*321 4 javascript jquery fullcalendar fullcalendar-4

我试图允许用户左键单击或右键单击 FullCalendar 的 dayGrid 视图中的事件。左键单击应该(并且确实)显示有关事件的一些信息,而右键单击应该提供一个自定义上下文菜单,我可以将其链接到应用程序的其他部分(例如编辑或删除事件)。

我无法使用右键单击功能,因为 eventClick 方法仅响应左键单击。我尝试使用 mousedown 方法,但似乎无法使其工作。

理想情况下,我会有一些像这个小提琴中的代码一样工作的东西: https://jsfiddle.net/p52gohwn/

但是,此代码不适用于 FullCalendar v4,因为它依赖于elementeventRender 方法的属性,该属性在 FullCalendar v4 中不再可用(仅info可用)。

Pau*_*mma 13

v5 的简单解决方案:

eventDidMount: (arg) =>{
    const eventId = arg.event.id
    arg.el.addEventListener("contextmenu", (jsEvent)=>{
        jsEvent.preventDefault()
        console.log("contextMenu", eventId)
    })
}
Run Code Online (Sandbox Code Playgroud)

  • 也许这个问题是在 v5 发布之前提出的。不管怎样,这个答案可能会让像我一样寻求 v5 答案的人受益。 (3认同)