Ich versuche, eine Funktion wie window.confirm zu schaffen, die wie folgt verwendet werden kann:eine Funktion wie window.confirm, die wahr oder falsch zurückgeben basierend auf den Knopf klicken
if (I.confirmDialog.open("Do you really want to Cancel")) {
// do this
}
else {
// do this
}
Ich schreibe die Pop- up-Funktion wie folgt aus:
I.confirmDialog = {
open: function(confirmMsg) {
var $modal = I.modals.new("small confirm-dialog");
$modal.find("h1").text(confirmMsg);
$modal.append("<div class=\"action-wraper\"><a class=\"action-yes\" href=\"javascript:void(0);\">Yes</a><a class=\"action-no\"href=\"javascript:void(0);\">No</a></div>");
I.modals.open($modal);
$modal.find(".action-yes").click(function() { I.modals.close(); /* return true will not work*/ });
$modal.find(".action-no").click(function() { I.modals.close(); /* return false will not work*/ });
}
};
Aber das Problem ist, ich bin nicht in der Lage von der I.confirmDialog.open()
wahr oder falsch zurück. Die Ausführung der Funktion I.confirmDialog.open()
wartet nicht auf das Klicken auf die Schaltfläche, und die Rückgabe aus dem Klick-Callback wirkt sich nicht auf den Rückgabewert I.confirmDialog.open()
aus.
Ich mag würde wissen, wie window.confirm
jQuery Promises https: // api .jquery.com/promise/ – AndFisher
Soweit ich weiß, ist es nicht möglich, einen modalen Dialog über Javascript zu erstellen. Grundsätzlich müssen Sie sich auf die Call Event Callbacks verlassen. Außerdem könnte ein transparentes ganzseitiges Div verwendet werden, um das modale Verhalten zu simulieren, das eine Benutzerinteraktion mit den anderen Seitenelementen verhindert. – al01