jquery - 上下文菜单与 jQuery FullCalendar 集成

标签 jquery css asp.net fullcalendar jquery-ui-contextmenu

我正在使用 Adam Shaw 的 FullCalendar 控件和 jQuery。我想为事件和日期添加上下文菜单。我能够通过使用 Martin Wendt's Context Menu control 来实现这一目标.我在事件上注册菜单的代码如下所示:

$('#calendar').fullCalendar({
        // Other arguments
        eventRender: function (event, element) {
            var originalClass = element[0].className;
            element[0].className = originalClass + ' hasmenu';
        },
        dayRender: function (day, cell) {
            var originalClass = cell[0].className;
            cell[0].className = originalClass + ' hasmenu';
    });
});

我实际上是在为日历中的每个事件和日期添加一个名为 hasmenu 的类。

$(document).contextmenu({
    delegate: ".hasmenu",
    preventContextMenuForPopup: true,
    preventSelect: true,
    menu: [
            {title: "Cut", cmd: "cut", uiIcon: "ui-icon-scissors"},
            {title: "Copy", cmd: "copy", uiIcon: "ui-icon-copy"},
            {title: "Paste", cmd: "paste", uiIcon: "ui-icon-clipboard", disabled: true },
        ],
    select: function(event, ui) {
            // Logic for handing the selected option
    },
    beforeOpen: function(event, ui) {
            // Things to happen right before the menu pops up
    }
});

问题是菜单出现在日历控件后面。我相信这是因为日历事件分配了一些其他类,而添加 hasmenu 类会搞乱这些。当我在 VS 中设置断点时,它说事件有这些类:

"fc-event fc-event-hori fc-event-draggable fc-event-start fc-event-end hasmenu"

这是它在页面上的样子:

enter image description here

我尝试在弹出窗口打开时将事件类临时设置为 hasmenu,但这显然完全改变了 View 。有没有办法强制菜单位于所有其他元素之上?有没有“带到前面”的方法?感谢您的帮助。

最佳答案

调整 z-index 可能是您最好的选择。

关于jquery - 上下文菜单与 jQuery FullCalendar 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25041953/

相关文章:

javascript - 创建更大的盒子副本

javascript - jquery ajax发送数据并获取: SQLSTATE[HY093]: Invalid parameter number

javascript - Action 相关的 Javascript/Jquery - 如何仅在另一个脚本完成后激活命令?

jquery - 使用 jQuery 或 CSS 将表格一分为二

html - 使用 flexbox (CSS) 最小化/移除空白

html - Angular2 模板 : How to bind keydown. 箭头指向整个 div 而不是仅控制元素?

javascript - 隐藏 jQuery 中的缓存对象

asp.net - 编译查询会缓存吗?

c# - 我无法读取 foreach 循环中的 IEnumerable 项目

asp.net - 将 GridView 列的宽度设置为动态,而不影响控件的最小宽度