2016-08-19 4 views
1

Ich versuche, auf das Ereignis in einer Funktion zugreifen, die nicht im Vollkalender ist, ich habe ein Kontextmenü, das Sie mit der rechten Maustaste und wählen Sie DeleteEvent und übergibt das Ziel an die Funktion:Kalenderereignis in Funktion außerhalb von FullCalendar abrufen

var $target = $(e.target); 
DeleteEvent($target); 

Wenn ich den Debugger in Chrom verwenden kann ich das Objekt sehe ich brauche, aber ich kann nicht herausfinden, wie man es bekommen, weil die Zahlen am Ende des jquery wahrscheinlich könnte sich ändern.

Also, wie schreibe ich dies jedes Mal zu arbeiten?

$target.context.offsetParent.jQuery224054666921681718872.fcSeg.event 

Ich habe versucht:

$target.context.offsetParent.find('fcSeg').event 
$target.context.offsetParent.jQuery().fcSeg.event 
$target.offsetParent().find('fcSeg').event 
$target.offsetParent().closest('fcSeg').event 

etc. Nur an Strohhalme hier zu erfassen.

Antwort

1

Wenn Sie nur ein Ereignis nach dem Rechtsklick-, Popup-Menü löschen möchten, ist es besser, wenn Sie eine Variable namens activeEvent behalten und jedes Mal, wenn Sie auf Ereignis klicken, das Ereignisobjekt der Variablen zuweisen und dann kannst du damit machen, was du willst.

+0

Das ist keine Option, das Kontextmenü ist auch in einer separaten Funktion und nicht gebunden an fullCalendar in jedem Fall, außer es verwendet eine Klasse als Selektor. Ich brauche eine Antwort, wie man das fcSeg.event bekommt. Wenn es ein Ereignis für Rechtsklick gibt, wie es für Klick ist, dann wäre das etwas, mit dem ich gegangen wäre. – Blindsyde

+1

Sie können den Rechtsklick an das Ereignis binden. Es gibt ein Beispiel in dieser Frage http://stackoverflow.com/questions/20610774/click-event-in-jquery-and-right-mouse-clicking –

+0

Großartig, das funktioniert auch, ich hatte herausgefunden, wie man an die bindet Rechtsklick, nur ein anderer Weg (durch eventRender: function (event, element)) {element.bind ('mousedown', funktion (e) {if (e.which == 3) ....}}) und dann I setze eine globale var und nutze es wie du sagtest, du solltest deine antwort aktualisieren, um zu zeigen, wie das gemacht wird, damit andere, die hier stolpern, ihre hilfe bekommen .. – Blindsyde

Verwandte Themen