auramacker
@auramacker
Занимаюсь веб-разработкой.

Как отложить выполнение основного кода до завершения работы функции?

Здравствуйте! Есть функция :
function getText(text){
if (arguments[0] !== undefined){
$("#content .get-text").remove();
$("#content").append("" + text + "ok" ); // create new
setInterval(function(){
$("#content .get-text").css("opacity", "1");
}, 100);
$("#content .get-text input").focus();
$("#content .get-text .ok").click(function(){
return $("#content .get-text input").val();
})
}
else $("#content .get-text").fadeOut(100); // empty arguments hide this block;
}

Которая отвечает за создание нового окошка с текстом и полем для ввода. При ее вызове из основного кода, он не дожидается возвращения результата функцией (окошко с анимацией);

При вызове :
var result = getText("Hello world");
console.log(result);
результат равен undefined. Как реализовать функцию чтобы основной код ожидал завершения ввода пользователем (как это делает window.prompt) ?
  • Вопрос задан
  • 183 просмотра
Пригласить эксперта
Ответы на вопрос 1
@IceJOKER
Web/Android developer
Самый просто способ - prompt(); - эта функция заставит ждать, а в вашем случае, только после нажатия на кнопку вы должны выполнить следующую функцию, код не будет ждать пока пользователь заполнит поле и нажмет на кнопку.(только лишь это не prompt();

$("#content .get-text .ok").click(function(){
  //тут не возвращаем ничего, а выполняем дальнейшие действия
 nextStep(); // к примеру вызываем функцию, которая выполнит дальнейшие действия
});
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы