Frage

Hier ist das Szenario:
ThickBox wird aus übergeordneten Fenstern geöffnet wird (wenn die Taste gedrückt wird) mit Ajax-Gehalt (div basierend Form), die den Satz von Eingängen mit automatischer Vervollständigung Unterstützung enthält. Sobald ThickBox (Formular) die Eingangswerte geschlossen wird, sollte an übergeordnete Fenster übergeben werden.

Frage:
Der Gehalt an ThickBox wird dynamisch geladen, so was ist der richtige Weg, um einen anfänglichen Rückruf haben thickbox Inhalt mit jQuery (Art $ (ThickBox) .ready ..)?

zu manipulieren
War es hilfreich?

Lösung

Meine bevorzugte Option ist, andere modale Plugin Optionen wie jqModal zu untersuchen. Dieser aussetzt onShow und OnHide Ereignis-Hooks, die Sie nutzen können.

Thickbox sein Alter zeigt, es belichten keine ‚Show‘ Ereignisse, die Sie beobachten können. Wenn Sie sich mit thickbox versessen sind, dann haben Sie ein paar Optionen.

Eine Möglichkeit wäre es, die globale Ajax Ereignisse zu verwenden, die jQuery macht zB $ .ajaxSuccess Ereignis . Dies wird ausgelöst, wenn thickbox hat erfolgreich die Daten angefordert hat zu zeigen. Doch an diesem Punkt thickbox die Daten an den modalen möglicherweise nicht hinzugefügt, werden Sie dies heraus versuchen.

Z. B

$.ajaxSuccess( function(evt, request, settings){
   //ajax method has completed
}); 

Bitte beachten Sie, dass dieses Ereignis am Ende der Feuer wird jeder Ajax-Ereignis, also innerhalb Ihrer Seite passiert, können Sie einige zusätzliche Kontrollen wollen

Eine andere Möglichkeit ist es, das thickbox Skript zu ändern und Ihre eigenen Callback-Code hinzufügen, die Sie in einer Funktion passieren lässt, die angehoben wird, wenn der modal angezeigt wird.

Andere Tipps

Sie können die Livequery Plugin. Dieses Plugin wird Änderungen in der DOM abfangen und automatisch re-bind andere Plugins Lesen der DOM

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top