为了账号安全,请及时绑定邮箱和手机立即绑定

FullCalendar v4 将 onclick eventListener 添加到

FullCalendar v4 将 onclick eventListener 添加到

慕桂英4014372 2022-01-13 10:53:42
我使用 FullCalendar v4 js 进行了自定义开发,但遇到了eventLimitClick方法问题。当我点击它时,我希望弹出框内显示的所有事件都有一个自定义onclick事件监听器,以便我在另一个自定义弹出窗口中显示当前事件的附加信息。到目前为止,这是我的方法:eventLimitClick : function(info){    info.segs.forEach(function(seg){        seg.el.querySelector('div.fc-content').addEventListener('click', function(event){            console.log('event definition', event);        });    });    return "popover";}但这是将侦听器添加到我已经在日历中看到的元素中。我也试过用hiddenSegs而不是 segs 但它不起作用。那么有什么方法可以实现这一点而不必创建包含所有事件的自定义弹出窗口?** 编辑 ** [包含代码]日历对象     {        locale : 'en',        plugins : ['dayGrid','timeGrid','list','interaction'],        header : {            left : 'prev,next today',            center : 'title',            right : 'dayGridWeek, dayGridMonth, dayGridDay'        },        allDaySlot : false,        aspectRatio : 1.8,        displayEventTime : false,        editable : false,        navLinks : true,        eventLimit : true,        views : {            dayGridMonth : {                eventLimit : 2            }        },        events : this.eventLIST,        datesRender : this.calendarviewRender,        eventClick : this.calendareventClick,        eventRender : this.calendareventRender     }datesRender,eventClick和eventRender函数:calendarviewRender = (info) => {    //set current and end dates    this.endDate = info.view.activeEnd;    this.currentDate = info.view.activeStart;    //retrieve fresh event/task info    this.refreshCalendar();}我也删除了eventLimitClick。
查看完整描述

1 回答

?
呼如林

TA贡献1798条经验 获得超3个赞

根据您的评论,我看到您正在使用闪电网络组件。


在销售人员与 LWC 合作时,我遇到了与您相同的问题。


我可以通过编辑 daygrid 包中的 main.js 并在 Popover 被隐藏时添加延迟来解决这个问题。


这是代码片段


function Popover(options) {

        var _this = this;

        this.isHidden = true;

        this.margin = 10; // the space required between the popover and the edges of the scroll container

        // Triggered when the user clicks *anywhere* in the document, for the autoHide feature

        this.documentMousedown = function (ev) {

            if (_this.el && !_this.el.contains(ev.target)) {

                setTimeout(function () {

                    _this.hide();

                }, 1000);

            }

        };

        this.options = options;

    }

函数从 main.js 的第 100 行开始。我正在使用 Fullcalendar v4


查看完整回答
反对 回复 2022-01-13
  • 1 回答
  • 0 关注
  • 223 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信