我在实施jquery full calendar时遇到问题。单击过去的事件时,模式会打开,但不应该。
仅对于当前和将来的事件,应打开一个模式对话框。
eventRender: function(event, element, view) {
var eventEnd = moment(event.end);
var NOW = moment();
if (eventEnd.diff(NOW, 'seconds') <= 0) {
return true;
}
},
请帮助我,谢谢。
答案 0 :(得分:0)
您似乎可以使用eventClick
处理程序:
eventClick: function(calEvent, jsEvent, view) {
alert('You clicked the Event: ' + calEvent.title);
}
答案 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中,您可能仍需要一些代码来定义弹出窗口)。