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