Код Javascript выполняется даже до того, как пользователь нажимает «ОК» в окне предупреждения. ⇐ Jquery
-
Anonymous
Код Javascript выполняется даже до того, как пользователь нажимает «ОК» в окне предупреждения.
Мне нужно удалить элемент видео, холст и кнопку на холсте перед отображением окна оповещения, и как только пользователь нажимает кнопку «ОК» в окне оповещения, мне нужно отобразить некоторые другие элементы. В настоящее время я столкнулся с указанными ниже проблемами.
[*]Перед удалением кнопки отображается окно оповещения. Итак, мы только что использовал setTimeout, чтобы удалить все элементы перед отображением окно оповещения, чтобы исправить это. [*]Код пользовательского интерфейса, который должен выполняться после того, как пользователь нажимает кнопку «ОК». выполняется после отображения окна предупреждения без остановки щелчок пользователя. Я думал, что код рядом с alert() не должен быть выполняется до тех пор, пока пользователь не нажмет «ОК» в окне предупреждения.
Ниже приведен код Javascript.
$("#remoteVideo").remove(); $("#localCanvas").remove(); $(".terminate_session_btn").remove(); // ИСПОЛЬЗУЕТСЯ setTimeout ДЛЯ ЗАДЕРЖКИ ОТОБРАЖЕНИЯ ОКНА ПРЕДУПРЕЖДЕНИЯ. БЕЗ // setTimeout, ОКНО ПРЕДУПРЕЖДЕНИЯ ОТОБРАЖАЕТСЯ ПЕРЕД УДАЛЕНИЕМ КНОПКИ. setTimeout(функция() { displayAndProcessUserTerminateAlertDialog(); }, 200); функция displayAndProcessUserTerminateAlertDialog() { сокет.закрыть(); alert("Пользователь завершил видеовызов. Нажмите кнопку «ОК», чтобы создать новый сеанс."); // НИЖЕ КОД ВЫПОЛНЯЕТСЯ БЕЗ ОСТАНОВКИ ДЛЯ ДЕЙСТВИЙ ПОЛЬЗОВАТЕЛЯ В ОКНЕ ПРЕДУПРЕЖДЕНИЯ. $(".main_container .item").hide(); $("#video-session-menu").removeClass("active"); $("#images-menu").removeClass("активный"); $(".sidebar ul li a").addClass("отключено"); } Кто-нибудь может помочь мне понять, почему выполнение кода не останавливается, пока пользователь не нажмет ОК в окне предупреждения, и как исправить эту проблему.
ОБНОВЛЕНИЕ:
Интересно то, что если я открою инструменты разработчика, проблемы не произойдет. Если я не открываю инструменты разработчика, проблема возникает всегда. Я не знаю, как решить эту проблему.
Мне нужно удалить элемент видео, холст и кнопку на холсте перед отображением окна оповещения, и как только пользователь нажимает кнопку «ОК» в окне оповещения, мне нужно отобразить некоторые другие элементы. В настоящее время я столкнулся с указанными ниже проблемами.
[*]Перед удалением кнопки отображается окно оповещения. Итак, мы только что использовал setTimeout, чтобы удалить все элементы перед отображением окно оповещения, чтобы исправить это. [*]Код пользовательского интерфейса, который должен выполняться после того, как пользователь нажимает кнопку «ОК». выполняется после отображения окна предупреждения без остановки щелчок пользователя. Я думал, что код рядом с alert() не должен быть выполняется до тех пор, пока пользователь не нажмет «ОК» в окне предупреждения.
Ниже приведен код Javascript.
$("#remoteVideo").remove(); $("#localCanvas").remove(); $(".terminate_session_btn").remove(); // ИСПОЛЬЗУЕТСЯ setTimeout ДЛЯ ЗАДЕРЖКИ ОТОБРАЖЕНИЯ ОКНА ПРЕДУПРЕЖДЕНИЯ. БЕЗ // setTimeout, ОКНО ПРЕДУПРЕЖДЕНИЯ ОТОБРАЖАЕТСЯ ПЕРЕД УДАЛЕНИЕМ КНОПКИ. setTimeout(функция() { displayAndProcessUserTerminateAlertDialog(); }, 200); функция displayAndProcessUserTerminateAlertDialog() { сокет.закрыть(); alert("Пользователь завершил видеовызов. Нажмите кнопку «ОК», чтобы создать новый сеанс."); // НИЖЕ КОД ВЫПОЛНЯЕТСЯ БЕЗ ОСТАНОВКИ ДЛЯ ДЕЙСТВИЙ ПОЛЬЗОВАТЕЛЯ В ОКНЕ ПРЕДУПРЕЖДЕНИЯ. $(".main_container .item").hide(); $("#video-session-menu").removeClass("active"); $("#images-menu").removeClass("активный"); $(".sidebar ul li a").addClass("отключено"); } Кто-нибудь может помочь мне понять, почему выполнение кода не останавливается, пока пользователь не нажмет ОК в окне предупреждения, и как исправить эту проблему.
ОБНОВЛЕНИЕ:
Интересно то, что если я открою инструменты разработчика, проблемы не произойдет. Если я не открываю инструменты разработчика, проблема возникает всегда. Я не знаю, как решить эту проблему.
Мобильная версия