我在实现jquery完整日历时遇到了一个问题。当点击过去的事件时,模态会打开,但不应该打开。
只有当前和将来的事件才能打开模式对话框。
eventRender: function(event, element, view) {
var eventEnd = moment(event.end);
var NOW = moment();
if (eventEnd.diff(NOW, 'seconds') <= 0) {
return true;
}
},
请帮助我,并提前表示感谢。
看起来您可以使用eventClick
处理程序:
eventClick: function(calEvent, jsEvent, view) {
alert('You clicked the Event: ' + calEvent.title);
}
这是的工作演示
event.end
已经是一个时刻了。文档中提到了这一点(阅读"结束"部分,它说这将成为整个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中,您可能仍然需要一些代码来定义弹出窗口(。