Javascript FullCalendar事件从外部单击处理问题

Javascript FullCalendar事件从外部单击处理问题,javascript,fullcalendar,Javascript,Fullcalendar,嗨,我现在有一个适用于fullCalendar v 1.6.4的JS: eventRender: function(event, element, view) { element.find('.fc-event-inner').attr("id", "event-" + event.id_event); }, eventClick: function(calEvent, jsEvent, view) { alert("Event clicked: "+calEvent); }

嗨,我现在有一个适用于fullCalendar v 1.6.4的JS:

eventRender: function(event, element, view) {
    element.find('.fc-event-inner').attr("id", "event-" + event.id_event);
},
eventClick: function(calEvent, jsEvent, view) {
    alert("Event clicked: "+calEvent);
}
如果我点击一个事件,这一切正常

我没有这个按钮:

$('#ext-click').click(function(){
    $('#event-120.fc-event-inner').trigger('click');
})
注意:event-120是事件的正确id

现在,当单击ext event按钮时,什么也不会发生,但是,如果我单击event-120,我会收到警报,我会关闭警报,并按下ext event,此时警报会出现

所以ext事件只有在我第一次点击event-120时才起作用,否则什么也不会发生

预期: 当点击ext event时,我每次都会收到event-120警报

试试这把小提琴:


您将看到,单击“单击我”按钮作为第一件事,什么也没有发生。然后单击事件,您将得到一个警报,将其关闭,然后再次单击“单击我”按钮,这次它会起作用。

我建议通过触发“单击我”按钮来重新考虑这种用户体验方法。原因是什么?如果要进行选择,请使用fullcalendar选择方法等

它可能不起作用的原因: fullcalendar事件与id为fullcalendar id的事件不同。这可能是单击顺序很重要的原因,因为为此div生成了一个显示此事件的侦听器。但不能指望事件的内部Id总是反映在DOM中。 e、 g.在最新的fullcalendar版本中,fullcalendar事件\u id不用于相关事件的id

处理页面更改的方法: 我在应用程序中使用这两种方法

新页

calendarview具有可选参数 将选定的\u id传递到新页面 离开新页面时,返回选定的\u id 当calendarview收到选定的_id时,请在eventRender方法中处理它,例如突出显示的特殊样式。。。 模态对话框 如果方便的话,您还可以使用模式对话框,这样calendarview将保持不变


您是否可以做一个“完成”,请看小提琴:我在这里更改了它,我在事件呈现时添加了“单击”事件。很抱歉,我不明白您的问题,请您重新思考。@HenriqueC。是否有方法传入您的点击事件,以及所有事件数据?以便在单击事件中可以访问所有事件数据?就像他们在eventClick标准方法中所做的那样,也许这可以用另一种方法来完成。我想触发事件点击的原因是,我的应用程序在某一点上完全改变了页面,但我将事件id保留在牛棚中,一旦我返回到该页面,我就让它触发点击。有更好的主意吗?我确实使用了一个模式,但那是在eventClick上,所以我们回到了同一个问题上为什么不实现自己的doEventClick。。。在您的eventClick中,当使用以前选择的事件id返回日历视图时,也会调用它?