如何从Calendar容器中释放事件,以便在外部容器中使用



我正在尝试实现一个外部容器来保存可能拖到日历上的未计划事件。目前,我能够将事件从外部容器拖到日历上,并让它们坚持下去。但是,我不能从日历中删除事件。我希望能够通过将事件拖出日历来删除它们,但我无法让它们离开日历的边界。

简单地说,我需要能够将事件拖出日历,而不会在我离开日历边界时它消失。

我不确定问题是否涉及z-index,包含属性或范围。

我已经找到了我自己问题的答案。

查看fullcalendar.js,我发现容器div的位置样式会影响事件是否可以拖到它外面。所以我做了两个修改来解决这个问题。

absoluteViewElement = 
        $("<div class='fc-view fc-view-" + newViewName + "'/>")
        //+ "' style='position:absolute'/>")

防止样式被初始化。然而,还有另一个点试图再次改变位置样式。

function setSize(dateChanged) {
    ignoreWindowResize++;
    currentView.setHeight(suggestedViewHeight, dateChanged);
    if (absoluteViewElement) {
        //absoluteViewElement.css('position', 'relative');
        absoluteViewElement = null;
    }
    currentView.setWidth(content.width(), dateChanged);
    ignoreWindowResize--;
}
通过这两个更改,我将日历事件从日历本身中解放出来。现在我可以自由地将事件拖出日历,甚至让它们与同一页面上的其他容器或其他完整日历交互。

我在日历旁边使用div来保存未计划的事件。通过这种方式,用户可以将事件拖到日历上以安排它们,或者在删除时调用数据库将它们从日历中删除以取消安排。

最新更新