In jQuery ist es möglich, einen Rückruf aufzurufen oder ein Ereignis auszulösen, nachdem ein Aufruf von .each()
(oder einer anderen Art von iterativem Rückruf) abgeschlossen wurde .
Zum Beispiel möchte ich, dass dieses "Ausblenden und Entfernen" abgeschlossen wird
$(parentSelect).nextAll().fadeOut(200, function() {
$(this).remove();
});
bevor Sie einige Berechnungen durchführen und neue Elemente nach dem einfügen $(parentSelect)
. Meine Berechnungen sind falsch, wenn die vorhandenen Elemente für jQuery noch sichtbar sind und das Schlafen / Verzögern einer beliebigen Zeitspanne (200 für jedes Element) bestenfalls als spröde Lösung erscheint.
Ich kann leicht .bind()
die notwendige Logik zu einem Ereignisse Rückruf , aber ich bin nicht sicher , wie invoke die sauber .trigger()
nach dem obigen Iteration abgeschlossen . Offensichtlich kann ich den Trigger innerhalb der Iteration nicht aufrufen, da er mehrmals ausgelöst würde.
Im Fall von $.each()
habe ich darüber nachgedacht, am Ende des Datenarguments etwas hinzuzufügen (nach dem ich im Iterationskörper manuell gesucht habe), aber ich würde es hassen, dazu gezwungen zu werden, also hoffte ich, dass es noch etwas anderes Elegantes gibt Möglichkeit, den Fluss in Bezug auf iterative Rückrufe zu steuern.