Дубликат на самом деле не очень полезен.Я прошу прощения за это.
Основываясь на этом ответе , я бы сделал следующее:
создайте функцию, которая создаст базовуюмодальное диалоговое окно с сообщением и кнопками ОК / Отмена
принимает два обратных вызова для обеих кнопок, выполняемых при их нажатии
Преимущество состоит в том, что ононе блокирует весь браузер с бесконечным циклом, как в ответе.Опция modal
диалогового окна jQuery UI просто блокирует текущую страницу.
Вот код:
function confirmDialog(message, onOK, onCancel) {
$('<div>' + message + '</div>').dialog({
modal: true,
buttons : {
"OK" : function() {
$(this).dialog("close");
// if there is a callback, execute it
if (onOK && $.isFunction(onOK)) {
onOK();
}
// destroy the confirmation dialog
$(this).dialog("destroy");
},
"Cancel" : function() {
$(this).dialog("close");
if (onCancel && $.isFunction(onCancel)) {
onCancel();
}
$(this).dialog("destroy");
}
}
});
}
И вы можете использовать его следующим образом:
$('button').click(function(e) {
var okHandler = function() {
alert('ok');
};
confirmDialog('Do you really want ?', okHandler);
});
DEMO