Я использую jQueryUI, чтобы подтвердить всплывающее окно для сохранения. Я пишу завершающую функцию, когда пользователь завершает редактирование всего. Появляется всплывающее окно, и остальная часть функции завершения продолжается до того, как будет выбрано подтверждение «не сохранять», «сохранить» или «отменить». Я использую подтверждение несколько раз, поэтому я не могу изменить это специально для этого экземпляра.
Как заставить функцию ждать результатов подтверждения?
$("#dialog").dialog({
autoOpen: false,
modal: true,
title: 'Save Changes',
buttons: {
"Don't Save": function() {
setDivText();
$( this ).dialog( "close" );
},
Cancel: function(){
$("#selection option:selected").removeAttr("selected");
$.each($("#selection option"), function(){
if($(this).val() == prevSel){
$(this).attr('selected', 'selected');
}
});
$(this).dialog("close");
},
"Save": function(){
organizedDivs[prevSel][2] = tinyMCE.activeEditor.getContent();
setDivText();
$(this).dialog('close');
}
}
});
и
function output(){
if(tinyMCE.activeEditor.isDirty()){
$("#dialog").dialog('open');
saveAll();
} else {
saveAll();
}
}
и
function saveAll(){
$.each( fileText.match( /<div.*?class=".*?editable.*?".*?>[\s\S.]*?<.div>/g ), function( index, value ){
value.replace(/(id=".*?".*?>)([.\s\S]*?)(<.div>)/ ,"$1" + organizedDivs[index][2] + "$3");
});
}