我需要删除视频元素,画布和画布上的一个按钮,然后显示一个警报窗口,一旦用户按下警报窗口上的确定按钮,我需要显示一些其他元素。目前,我面临着以下问题。
1.在删除按钮之前显示警告窗口。因此,我们只是使用setTimeout
删除所有元素,然后显示警报窗口来解决这个问题。
1.用户按下“确定”按钮后应执行的UI代码在警报窗口显示后执行,用户点击时未停止。我认为alert()
旁边的代码不应该被执行,直到用户按下警报窗口上的Ok。
下面是JavaScript代码。
$("#remoteVideo").remove();
$("#localCanvas").remove();
$(".terminate_session_btn").remove();
// USED setTimeout TO DELAY THE DISPLAY OF ALERT WINDOW. WITHOUT
// setTimeout, ALERT WINDOW IS GETTING DISPLAYED BEFORE DELETING THE BUTTON.
setTimeout(function() {
displayAndProcessUserTerminateAlertDialog();
}, 200);
function displayAndProcessUserTerminateAlertDialog() {
socket.close();
alert("User terminated the video call. Press 'Ok' button to create new session.");
// BELOW CODE IS GETTING EXECUTED WITHOUT STOPPING FOR USER ACTION ON ALERT WINDOW.
$(".main_container .item").hide();
$("#video-session-menu").removeClass("active");
$("#images-menu").removeClass("active");
$(".sidebar ul li a").addClass("disabled");
}
任何人都可以请帮助我理解为什么代码执行不停止,直到用户按下确定警报窗口,以及如何解决这个问题。
更新:
有趣的是,如果我打开开发人员工具,问题不会发生。如果我不打开开发者工具,问题总是发生。我不知道如何解决这个问题。
2条答案
按热度按时间p8ekf7hl1#
显然,浏览器没有标准的警报行为。因此,您可能希望使用自己喜欢的行为实现自己的警报。你可以在这里测试一下:https://jsfiddle.net/rf0jd7te/1/
HTML
CSS
JS
zf9nrax12#