Ich versuche einen Ersatz für das javascript confirm () zu erstellen. Ich habe die jquery dialog () -Funktion gefunden, die vollständig angepasst werden kann. Das Problem ist, dass ich es nicht true oder false zurückgeben kann.
Hier ist mein Code:
%Vor%Dies gibt nur ein Objekt zurück, bevor eine Option ausgewählt wurde:
%Vor% jQueryUI-Dialogfelder können keine true
oder false
zurückgeben, da sie über anderen Inhalten angezeigt werden, aber ohne blockierende Ausführung.
Das Beste, was Sie tun können, ist:
Machen Sie das Feld modal
so, dass es den anderen Inhalt ausblendet
liefert Rückrufe, die abhängig von der ausgewählten Option verwendet werden.
Für zusätzliche Bonuspunkte können Sie ein $.Deferred()
promise-Objekt erstellen und es zurückgeben, wenn Sie das Dialogfeld anzeigen. Sie können dann resolve
oder reject
, die in den Button-Event-Handlern versprechen.
Damit erhalten Sie eine saubere Trennung zwischen dem Anzeigen des Dialogfelds und dem Ausführen der nachfolgend ausgelösten Aktionen:
%Vor%Die erste Antwort ist in Ordnung - ich dachte, ich würde nur ein wenig Code hinzufügen, der zeigt, wie Sie die Schaltfläche, auf die geklickt wurde, zurückgeben können:
%Vor%Tags und Links javascript jquery user-interface dialog