0

我想通过添加一个css类('click_class')来标记一个点击事件。再次单击该事件应删除“click_class”。作为一个起点,我想知道如果要在 eventClick 之后将持久 CSS 类添加到事件中,应该更改对象中的哪个值?

cl_object = calendar.getEventById( id );
cl_object.setProp('eventClassNames','click_class');
calendar.render();

或者

cl_object.ui.setProp('classNames','click_class');
calendar.render();

两者都不起作用

类在此事件对象中定义

classNames_arr = cl_object.ui.classNames;

我所知道的。

4

1 回答 1

0

// 也许像这样

eventClick: function(info) {
    //
    // classNames Object
    classNames_obj = info.event.classNames;
    //
    // Transform into array
    classNames_arr = Object.values(classNames_obj);
    //
    // check, whether the class is here
    if (classNames_arr.includes('click_class')){
        // already here => remove
        classNames_arr = arrayRemove(classNames_arr, 'click_class');
    } else {
        //append
        classNames_arr.push('click_class');
    }
    // Update fullcalendar event object
    info.event.setProp('classNames',classNames_arr);
},
// Function
function arrayRemove(arr, value) { return arr.filter(function(ele){ return ele != value; });}
于 2020-07-31T13:51:07.470 回答