JQuery 弹出窗口以及如何停止后面的 javascript 代码逻辑
我正在使用 jquery.alert.js 库来显示警报,它在一种情况下效果很好。在正常情况下,如果我使用 Javascript 的默认警报框,该框显示并且用户必须单击“确定”按钮,然后将执行下一个代码逻辑。但是,对于 jAlert,它使用回调函数,因此它将继续执行后面的代码 并且不必等待用户单击“确定”按钮
默认警报框
alert("有错误");
用户单击“确定”后执行一些操作 …… 一些代码隐藏在
j警报框
<前><代码> jAlert("有错误", "错误", function() { 用户单击“确定”后执行一些操作 }); …… 后面有一些代码
我想知道是否有人可以给我一些关于这种情况的提示。是否有办法阻止 JavaScript 代码执行后面的代码,直到用户选择框中的“确定”按钮?
先感谢您。
I am using jquery.alert.js library to display alert, it worked great exception one case. In normal situation, if i use the default alert box of Javascript, the box display and user has to click ok button then the next code logic will be executed. However, in case of jAlert, it is using callback function so it will continue to execute the behind code
and don't have to wait for user to click on OK button
Default alert box
alert("There is an error");
Do some thing after user click on OK ..... Some code behind
jAlert box
jAlert("There is an error", "error", function() { Do some thing afteruser click on OK }); ..... Some code behind
I wonder if someone could give me some hints for this situation. Is there anyway to stop the javascript code executing the code behind until user choose OK button on the box?
Thank you in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
谢谢雅库布的回答,很抱歉我没有充分澄清我的情况。实际上,我得到了下面的代码逻辑来验证按键事件上的输入数据。
如上面的内容,jAlert没有等待用户点击确定按钮,只是调用[$(this).focus();],所以光标在父控件中,用户无法点击父控件上的确定按钮盒子。
如果我在这种情况下使用默认警报框,它将等待用户单击“确定”按钮,然后将焦点返回到验证控件
,因为我正在自定义旧系统,所以在 $hidden.attr('value', $(this). val());我有很多其他逻辑和子逻辑。如果我必须使用这样的 if 条件,我想我无法控制所有源代码。所以我想知道是否有解决方案?
Thank you Jakub for your answer and i am sorry i did not clarify my situation well enough. In real, i got the below code logic to validate the inputed data on keypress event.
As the above content, the jAlert did not wait for user to click on OK button and just call [$(this).focus();], so the cursor is in the parent control and user can not click on OK button on the box.
If i use the default alert box in this case, it will wait user click on OK button then focus back to the validating control
As i am customizing an old system, so behind $hidden.attr('value', $(this).val()); i got a lot of other logic and sub-logic. If i have to use if condition like that, i think i could not control all the source code. So i wonder if existing a solution for this?