FullCalendar event从外部处理问题

时间:2017-01-06 12:37:59

标签: javascript fullcalendar

您好我有当前的JS for fullCalendar(v 1.6.4):

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只有在我第一次点击event-120时才有效,否则没有任何反应。

预期: 点击#ext-event时,我每次都会收到event-120提醒。

试试这个小提琴:https://jsfiddle.net/hs0q6r3v/1/

首先点击“Click-me”按钮,您将看到没有任何反应。点击该事件,您将收到提醒,关闭它并再次单击“Click-me”按钮,这次它可以正常工作。

1 个答案:

答案 0 :(得分:0)

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

为什么它可能无法正常工作 fullcalendar事件与具有fullcalendar id的id的a不同。这可能是为什么点击顺序很重要的原因,因为有一个监听器为此div显示此事件。但是你不能依赖于事件的内部Id将始终反映在DOM中。 例如在最新的fullcalendar版本中,fullcalendar event_id不用于相关

的id

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

  1. 新页面

    • calendarview具有可选参数
    • 传递" selected_id"到新页面
    • 离开" new_page"传回" selected_id"
    • 当calendarview收到" selected_id"在" eventRender"中处理它方法(例如用于突出显示的特殊样式,......)
  2. 模态对话框 如果方便的话你也可以使用模态对话框,所以calendarview将保持不变。