Мне нужно изменить некоторые старые javascript-коды. Там есть место, где я хочу подождать, пока пользователь нажмет одну из двух кнопок, а затем продолжит поток программы (например, функция prompt()
). Как это можно достичь?Как я могу заставить программу ждать нажатия кнопки в javascript?
ответ
Вам нужно разбить функцию в этой точке, и добавить еще одну функцию, чтобы поймать кнопку событие нажатия пользователя.
Вы можете использовать Narrative Javascript ввести блокирование поведения и просто (так что вам не нужно, чтобы разбить функцию на две части.)
- Вы можете скрыть содержимое, которое может быть не видно (с помощью CSS-дисплея: нет), и покажите его, когда вы нажимаете кнопку.
- Или более безопасно: Вы можете сделать запрос сервера/AJAX, когда была нажата кнопка
Там нет «сна» или «ждать» оператора в JavaScript. Тем не менее вы можете установить таймер, и когда таймер истечет, он выполнит функцию.
setTimeout("alert('hello')",1250);
Вы должны использовать события, чтобы пометить ключ:
<script type="text/javascript">
document.onkeyup = KeyCheck;
function KeyCheck()
{
var KeyID = event.keyCode;
switch(KeyID)
{
case 16:
document.Form1.KeyName.value = "Shift";
break;
case 17:
document.Form1.KeyName.value = "Ctrl";
break;
case 18:
document.Form1.KeyName.value = "Alt";
break;
case 19:
document.Form1.KeyName.value = "Pause";
break;
case 37:
document.Form1.KeyName.value = "Arrow Left";
break;
case 38:
document.Form1.KeyName.value = "Arrow Up";
break;
case 39:
document.Form1.KeyName.value = "Arrow Right";
break;
case 40:
document.Form1.KeyName.value = "Arrow Down";
break;
}
}
</script>
Хорошо, вероятно, вы хотите такого рода вещи, вы можете реализовать события, чтобы отметить ключ от ответа Pentium10:
Вы можете сделать функцию, называемую waitForIt(), в которой вы устанавливаете функцию setTimeout(), которая вызывает тот же метод, пока глобальная переменная не будет истинна (задано нажатием кнопки действие).
Например:
<html>
<head>
<script type="text/javascript">
var buttonpressed = false;
function waitForIt() {
if (!buttonpressed) {
setTimeout(waitForIt,2500);
} else {
document.getElementById('info').value='ok';
}
}
function startSomething() {
document.getElementById('info').value='';
waitForIt();
document.getElementById('info').value='waiting';
}
function setButtonPressed() {
buttonpressed = true;
}
</script>
</head>
<body>
<br>
<input type='text' style="width: 200px;" id="info" />
<br>
<input type='button' style="width: 200px;" value="Start" onclick="javascript: startSomething();">
<br>
<br>
<input type='button' style="width: 200px;" value="Continue" onclick="javascript: setButtonPressed();">
</body>
</html>
Вы можете вызвать метод waitForIt() непосредственно, но я сделал так, вы можете посмотреть, что происходит. Извините за беспорядок в примере, но у меня мало времени на то, чтобы сэкономить :)
Спасибо ...... Его помощь мне много ............ –
Я бы не играл с таймаутами и интервалами для этого.
Вам будет лучше разрезать программу на 2 части, возможно, как вы предлагаете в двух функциях.
Запустите первую часть, добавьте код, чтобы спросить пользователя о действии.
И затем, основываясь на действии, запустите вторую часть.
- 1. Как я могу заставить программу ждать изменения переменной в javascript?
- 2. gtkmm, как я могу заставить свою программу ждать нажатия нажатой кнопки?
- 3. Как я могу заставить свою программу ждать TouchEvent в Android
- 4. Как заставить скрипт ждать нажатия кнопки?
- 5. Как заставить эту программу ждать нажатия экрана перед запуском?
- 6. Как заставить программу WinForms ждать (например, для нажатия «enter»)?
- 7. Как заставить swing-программу ждать
- 8. Как заставить мой метод ждать события нажатия кнопки в winforms
- 9. Как я могу приостановить мой код в андроиде и заставить его ждать нажатия кнопки?
- 10. Как заставить программу ждать метода в java
- 11. Как заставить программу останавливаться после нажатия кнопки «Q» в AutoIt?
- 12. Как заставить программу ждать завершения HTTP-запроса в JavaScript?
- 13. Как заставить мою программу ждать ввода клавиатуры?
- 14. Как заставить программу C ждать (на Linux)?
- 15. Могу ли я заставить разрешение обещания ждать результатов в javascript?
- 16. Как я могу заставить свою программу ждать ввода, не находясь в цикле
- 17. МОФА C# кнопки ждать нажатия кнопки
- 18. Как я могу заставить python ждать, пока я закончу разговор?
- 19. Как я могу заставить эту программу работать?
- 20. Как я могу позволить Tkinter ждать нажатия клавиши перед продолжением?
- 21. Как я могу заставить этот jquery ждать завершения события click?
- 22. Как я могу избежать нажатия кнопки ok
- 23. Как заставить программу ждать блокировки в базе данных sqlite
- 24. Как запустить программу для нажатия кнопки в Java
- 25. Показать оповещение и ждать нажатия кнопки
- 26. Как я могу ждать программу, используя таймер? C#
- 27. Как я могу заставить этот javascript работать?
- 28. Как я могу заставить Protractor НЕ ждать $ timeout?
- 29. Как я могу заставить узел ждать? или, возможно, другое решение?
- 30. Как я могу заставить мой скрипт ждать завершения анимации jQuery?
К сожалению, это не предусматривает каких-либо «блокировок». Поэтому мне нужно будет каким-то образом изменить код на функции. –
Javascript - это процесс, основанный на событиях. Вы должны использовать события и функции. См. Ниже ответы Гипна. – Pentium10