2016-06-16 18 views
0

Ich versuche, einen Ajax-Aufruf nur einmal pro Zeitraum mit JS auszulösen. Ich ziehe den Kopf eines Tisches, also wird das Ereignis viel ausgelöst. Also, wenn der Benutzer einen thead zieht, sollte er die Ereigniszeit zurücksetzen und den Ajax-Aufruf nur dann aufrufen, wenn der Benutzer den thead während dieses Zeitraums nicht erneut zieht.Führen Sie einmal in einem Zeitintervall einen Ajax-Anruf

Ich möchte keine AJAX-Anfrage in kurzen Zeiträumen machen, weil ich weiß, dass der Benutzer das thead in mehr als eine Position verschieben kann.

Ich konnte keine Option wie diese finden, die die Aktion auslösen würde, sobald der Benutzer thead fallen lässt.

Ich verwende Datentabellen und die Erweiterung ColReorder, BTW. Ich habe versucht, einige der Event-Keys zu überprüfen und keiner von ihnen scheint die Information zu geben, dass das Thead gelöscht wurde.

Die Veranstaltung ist:

.on('column-reorder.dt', function (e, settings, details) { 

}); 

Ich fand auch diesen Schlüssel "drop" in den Details Parameter, aber es hatte immer den Wert falsch.

Vielen Dank im Voraus!

Antwort

0

Es sollte ein "Dragstop" -Ereignis geben, das das Ende des Ziehens anzeigen würde. Wenn Sie das mit einem mouseup-Ereignis verbinden, sollten Sie haben, was Sie brauchen.

ZB: Beim Ziehen starten Sie eine Variable namens isDragInProgress, die auf MouseUp überprüft wird, um zu entscheiden, ob ein Tropfen gemacht wird. Setzen Sie es auf "false" zurück, wenn Sie die Ablegeaktion abschließen, wenn die Bedingung wahr ist.

+0

Es gibt kein solches Ereignis. Das einzige Ereignis ist zu erkennen, ob es eine Bewegung gibt. – mk2

+0

Dies sind globale Ereignisse, die nicht mit einem von Ihnen verwendeten Plugin in Verbindung stehen. Https://developer.mozilla.org/en-US/docs/Web/Events/drag –

+0

Bitte beachten Sie, dass die Browser-Unterstützung nur für IE10 und höher verfügbar ist , wenn Sie es in IE versuchen. –

Verwandte Themen