Jquery 右键单击打开的单元格时在fullcalendar中返回日期值

Jquery 右键单击打开的单元格时在fullcalendar中返回日期值,jquery,fullcalendar,Jquery,Fullcalendar,我创建了一个JSFIDLE来显示我的问题。基本上,我想让FullCalendar在agendaweek视图中呈现日历,并允许用户右键单击打开的单元格,将日期/时间检索到JS变量中,我可以使用该变量实现进一步的功能。在agendaWeek视图中,鼠标左键单击有效,但鼠标右键单击无效。对我来说,最重要的是右键单击时能够检索打开单元格的单击日期/时间。我浏览过网络,看到过很多弹出上下文菜单的例子,但是在fullcalendar中,没有任何东西能够将右键单击的日期/时间检索到JS变量中。如果有人能告诉我

我创建了一个JSFIDLE来显示我的问题。基本上,我想让FullCalendar在agendaweek视图中呈现日历,并允许用户右键单击打开的单元格,将日期/时间检索到JS变量中,我可以使用该变量实现进一步的功能。在agendaWeek视图中,鼠标左键单击有效,但鼠标右键单击无效。对我来说,最重要的是右键单击时能够检索打开单元格的单击日期/时间。我浏览过网络,看到过很多弹出上下文菜单的例子,但是在fullcalendar中,没有任何东西能够将右键单击的日期/时间检索到JS变量中。如果有人能告诉我这是怎么做的,我将非常感激。谢谢


我并不是说这是你期望的正确答案,但它可能会给你一些关于如何进一步操纵的想法。只需在下面添加行,右键单击整个日历即可获得坐标

function CustomContext() {    
    var e = window.event;        
    var x=e.clientX;        
    var y=e.clientY;
    if (e.which === 3 || e.button === 2) {
         alert('Right Click happend at ' + x +' ' + y);
    }    
}

$("#calendar").mousedown(CustomContext);

试着操纵坐标,我认为如果你深入谷歌,你可以创建自己的上下文,或者你可以根据坐标获取日期和时间,这是非常愚蠢的,但是通过修改fullcalendar.js,你可以在呈现行元素时将日期时间插入行元素的属性中。然后可以钩住右键单击并从单击的元素中拾取属性

在fullcalendar.js中,修改slatRowHtml以插入日期时间:

html += '<tr event-time="' + slotDate.format() + '" ' .....
注意:我只在agendaDay视图中实现了这一点,但我相信您也可以找到如何在agendaWeek中实现这一点


我知道你在说什么,但不幸的是,我还没有找到一种方法根据鼠标点击的x,y坐标从fullcalendar中获取日期/时间信息。在firebug中查看DOM元素,我看不到通过坐标获取信息的方法。我怀疑fullcalendar将日期/时间数据存储为jQuery ui.data,但不清楚在这种特殊情况下如何将其取出。我同意。如果他们在dayRender中添加了一个事件参数,那就好了。它在eventRender中。一些jquery专家可能会尝试从插件中覆盖dayRender。如果我提供50美元的Paypal转账给第一个可以向我展示JS fiddle工作的人,会有帮助吗?右键单击日期单元格,并提醒日期/时间
html += '<tr event-time="' + slotDate.format() + '" ' .....
$"(#calendar").find(".fc-agendaDay-view .fc-time-grid tr").bind("mousedown", function (e) {

    if (e.which == 3) {
        alert($(this).attr("event-time"));
    }

});