点击时FullCalendar编辑资源

时间:2017-06-14 09:52:04

标签: javascript jquery fullcalendar fullcalendar-scheduler

所以我正在使用FullCalendar库中的Scheduler插件。我已经有我的事件系统工作,让我通过模态框编辑事件。

现在我想对资源做同样的事情,但我在那里碰壁。

除此之外,我试过这个

resourceRender: function(resource, cellEls) {
    cellEls.on('click', function(resource) {
        $.getScript(resource.edit_url);
    })
}

但是我无法访问cellEls方法中的资源。

我没有找到任何这方面的例子,所以我甚至不确定它是否可能。

有什么想法吗? 提前致谢

2 个答案:

答案 0 :(得分:1)

任何"点击"的第一个参数callback是JavaScript事件对象。你不能改变它。

只需允许"资源"对象自然传播到事件处理程序而不是尝试重新声明它:

resourceRender: function(resource, labelTds, bodyTds) {
    labelTds.on('click', function(event) {
        console.log(resource);
        $.getScript(resource.edit_url);
    });
}

答案 1 :(得分:0)

此帖子已经过时。此后在“完整日历资源时间轴计划”版本4.0中已更改。我对DOM对象“ el”使用了“ addEventListener”。请参见下面的代码片段,调用“ resourceRender”,以便您可以看到渲染完成后如何在资源单元中的click事件中访问它。

    document.addEventListener('DOMContentLoaded', function () {
   var calendarEl = document.getElementById('calendar');
   var calendar = new FullCalendar.Calendar(calendarEl, {
        schedulerLicenseKey: '<hidden>',
        plugins: ['interaction', 'resourceTimeline'],
        resourceLabelText: 'Resources',
        resources: "<see fullcalendar support docs>",
        events: "<see fullcalendar support docs>",
        resourceRender: function (renderInfo) {
           renderInfo.el.addEventListener("click", function(){ console.log('clicked:' + renderInfo.resource.id); });
        }
    });
         calendar.render();
});