Okay, dies ist wahrscheinlich ein alter Thread, aber ich werde meine fünf Cent zu diesem Thema beitragen. Seit der Version 2 (derzeit 2.4.0) scheint es ein bisschen anders Stück Code verwalten die Klick-Ereignisse. Also so habe ich es gelöst.
Wie bereits erwähnt, öffnen Sie fullcalendar.js, suchen Sie nach etwas wie "trigger('eventClick'" und Sie werden auf einen Code stoßen, der wie folgt aussieht:
$.each(
{
mouseenter: function(seg, ev) {
_this.triggerSegMouseover(seg, ev);
},
mouseleave: function(seg, ev) {
_this.triggerSegMouseout(seg, ev);
},
click: function(seg, ev) {
return view.trigger('eventClick', this, seg.event, ev); // can return `false` to cancel
},
mousedown: function(seg, ev) {
if ($(ev.target).is('.fc-resizer') && view.isEventResizable(seg.event)) {
_this.segResizeMousedown(seg, ev, $(ev.target).is('.fc-start-resizer'));
}
else if (view.isEventDraggable(seg.event)) {
_this.segDragMousedown(seg, ev);
}
}
}, and so on .......
um den Doppelklick zu erhalten, müssen Sie nur dieses kleine Codestück zwischen Klick und Mousedown (oder was auch immer Ihren Wünschen entspricht) einfügen:
dblclick: function(seg, ev) {
return view.trigger('eventDoubleClick', this, seg.event, ev); // can return `false` to cancel
},
Jetzt müssen Sie es nur noch im Initialisierungsobjekt angeben.
eventDoubleClick: function(calEvent, jsEvent, view) {
alert('Event: ' + calEvent.title);
alert('Coordinates: ' + jsEvent.pageX + ',' + jsEvent.pageY);
alert('View: ' + view.name);
// change the border color just for fun
$(this).css('border-color', 'red');
}
Hat bei mir in Chrome funktioniert, ich habe diese Lösung nirgendwo anders getestet.