SO Question 14556975

using a promises http://stackoverflow.com/questions/14556975/modal-confirmation-jquery-advice/

by Gerald Gillespie

HTML

<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.0/themes/base/jquery-ui.css">
<div id="dialog-confirm" title="Dialog Title">this is some kind of dialogue</div>
<div id="result" />
<input type="button" value="subscribe! (or something)" />

JavaScript

var myFunction = function (b) {
    var H = b ? 'YES' : 'NO';
    $('#result').text('You clicked ' + H + '!');
} // end myFunction


var optionTaken = new $.Deferred();

$("#dialog-confirm").dialog({
    autoOpen: false,
    resizable: false,
    height: 180,
    modal: true,
    buttons: [{
        text: 'Yes',
        click: function () {
            $(this).dialog('close');
            optionTaken.resolve();
        }
    }, {
        text: 'No',
        click: function () {
            $(this).dialog('close');
            optionTaken.reject();
        }
    }]

}); // end dialog create

var interruptedScript = function () {
    $.when($('#dialog-confirm').dialog('open'), optionTaken.promise())
        .then(function () { //success
        myFunction(true);
        }, function(){ //fail
            myFunction(false);
        });
} // end interruptedScript

$('input').on('click', interruptedScript); // end on click