JQuery-Registerkarten - Eine Bestätigung vor der Aktivierung anzeigen

Ich verwende die Registerkarten von jquery UI. Wenn ein Benutzer zwischen Registerkarten wechselt, überprüfe ich, ob Änderungen nicht gespeichert wurden, und fordere den Benutzer dazu auf. Bevor der Benutzer jedoch auf Ja oder Nein klickt, wird die Registerkarte trotzdem geladen. Weiß jemand, wie ich meine Funktion dazu bringen kann, nichts zurückzugeben, bis das Ergebnis von meinem Fancybox-Dialog zurückgekehrt ist?

Sie können sehen, dass ich verschiedene Methoden ausprobiert habe, um meinen Booleschen Wert in CheckSomething () zurückzugeben.

$("#myTabs").tabs({ 
    select:
        function (event, ui) {
            return CheckSomething();
        },

    show: 
        function (event, ui) { 
            //do some stuff
        }
});

function CheckSomething() {
    var loadMyTab = true;  //If I set this to false, then it always returns false.
    if (myCondition) {
        //Show a FancyBox prompt.

        if (fancyYes) {
            //return true;
            loadMyTab= true;
        }
        else {
            //return false;
            loadMyTab = false;
        }
    }
    else {
        //return true;
        loadMyTab = true;
    }
    return loadMyTab;
}

Antworten auf die Frage(2)

Ihre Antwort auf die Frage