全日历 v5 为事件添加属性

Col*_*ins 0 javascript fullcalendar

在完整日历的早期版本中,我会使用 eventRender 来操作事件元素并添加数据属性。

现在我们的任务是升级到 v5,看起来 eventRender 已被弃用,我找不到方法来做同样的事情。

在此处的文档中... https://fullcalendar.io/docs/event-render-hooks我可以使用 eventDidMount 访问元素(el) - 但是任何对 attr 或 data 的调用都会导致“attr 不是定义”错误。

 eventDidMount: function(data) {
        data.el.data('res', 123);
    },
Run Code Online (Sandbox Code Playgroud)

data.el.data 不是一个函数

所以知道数据是 jQuery,我尝试这个......

eventDidMount: function(data) {
        $(data.el).data('res', 123);
    },
Run Code Online (Sandbox Code Playgroud)

不再有错误,但也没有添加数据属性。

因此,我还尝试使用“append”插入带有属性的元素,但这会将其添加为纯文本。

eventDidMount: function(data) {
    data.el.append('<span data-id="123"></span>');
},
Run Code Online (Sandbox Code Playgroud)

试图做一些相对简单的事情让我自己发疯了,还有其他人遇到过这种情况吗?

Col*_*ins 8

它总是这样。我花了 30 分钟撕扯头发,提出问题,然后找到答案。

eventDidMount: function(data) {
        data.el.setAttribute("data-id", 123);
    },
Run Code Online (Sandbox Code Playgroud)