У меня есть HTML-страница с некоторыми данными, которые необходимо сохранить или удалить, прежде чем можно будет выполнить некоторые другие действия. У меня есть несколько функций, которым нужно будет сделать паузу, дождаться, пока пользователь примет решение, а затем, основываясь на этом решении, продолжить работу по одному из двух путей. Самое интересное, что каждая функция уникальна. Например, функция A выполнит 3 строки кода, запросит ввод, а затем выполнит еще 2–4 строки в зависимости от ответа. Функция B выполнит две разные строки кода, запросит ввод, а затем выполнит другой набор кода. Я знаю, что могу использовать Prompt(), чтобы открыть диалоговое окно браузера, но мне это не нужно. Вместо этого я хочу, чтобы пользователь нажимал кнопку в модальном окне. Как мне это сделать, чтобы код можно было использовать повторно?
Я знаю, что могу разбить каждую из них на две отдельные функции (в общей сложности их 4 ниже), но я бы предпочел не делать этого.
// Note: I know this code doesn't make a lot of sense and isn't runnable. It is to demonstrate the
// structure of what I'm trying to do.
function doSomething() {
let a = now();
console.log("it is" + a);
// TODO: show a modal asking if save or discard changes
if (discard) {
$("myContainer").replaceWith("");
} else {
saveChanges();
}
function doSomethingElse() {
let b = 12 * 12;
console.log("12 x 12 is" + b);
let c = 1 + 1;
console.log("1 + 1 is" + c);
// TODO: show a modal asking if save or discard changes
// Wait for user input
if (discard) {
$("myContainer").replaceWith("");
} else {
alert("Saving Changes Now!");
saveChanges();
}
$("#button1").on("click", doSomething);
$("#button2").on("click", doSomethingElse");
Подробнее здесь: https://stackoverflow.com/questions/798 ... user-input