如何不打开jquery中的过去事件的事件模式对话框

时间:2018-11-15 09:24:47

标签: javascript jquery fullcalendar

我在实施jquery full calendar时遇到问题。单击过去的事件时,模式会打开,但不应该。

仅对于当前和将来的事件,应打开一个模式对话框。

eventRender: function(event, element, view) {
    var eventEnd = moment(event.end);
    var NOW = moment();
    if (eventEnd.diff(NOW, 'seconds') <= 0) {
        return true;
    }
},

请帮助我,谢谢。

2 个答案:

答案 0 :(得分:0)

您似乎可以使用eventClick处理程序:

eventClick: function(calEvent, jsEvent, view) {
  alert('You clicked the Event: ' + calEvent.title);
}

Here's the working demo

答案 1 :(得分:0)

event.end已经片刻了。 documentation提到了这一点(请阅读“结束”部分,该部分将成为整个API中的关键时刻)。您无需再包装它。

如果您想将其与其他时刻进行比较,isSameOrAfter()比diff()容易使用得多

现在,直接更改现有代码将如下所示:

eventRender: function(event, element, view) {
    if (event.end.isSameOrAfter(moment()) {
      //here you can place your code to attach a modal popup to the event
    }
},

或者,如果不是那样需要定义模态,那么最好使用eventClick-因此,当用户单击事件时,您可以决定是否显示模态与否。这可能更有意义(尽管在eventRender中,您可能仍需要一些代码来定义弹出窗口)。