暂停页面执行,直到jQuery警报关闭后,再运行函数
Pause page execution until after jQuery alert is closed, then run function
我有一个jQuery $.alert
和.fadeOut(1000)
连续工作,但我不喜欢我所看到的结果。我希望在用户关闭$.alert
之后只运行.fadeOut(1000)
。我知道您实际上无法捕获警报的关闭事件,但是有人可以建议一个可能实现我正在寻找的工作方法吗?
这是现有的ajax
调用,我试图实现的变化:
$.ajax({
url: sURL + "utility/mymethod",
type: "POST",
data: {ClientNum: ClientNum},
dataType: 'json',
success: function(json) {
if (typeof(json.ClientEmail) != "undefined" && json.ClientEmail !== null && json.ClientEmail !== "") {
$.confirm("Please call . . . .",
function(){
if (json.ClientEmail){
send_email(json);
}
},
function(){
$.msg("Password recovery information has NOT been sent.",
{header:'Password Not Sent', live:10000});
$('#ajaxShield').fadeOut(1000);
})
} else {
//THIS IS WHERE I WANT THE FADEOUT TO WAIT FOR THE ALERT
$.alert("There is no email address.")
$('#ajaxShield').fadeOut(1000);
};
},
error:function (xhr, ajaxOptions, thrownError){ alert('Problem, Status code:'+xhr.status+', Error:'+thrownError);}
});
我希望我的覆盖保持可见,直到用户确认警报消息。
谢谢。
$。alert不是原生的JQuery,所以可能是一个异步操作的插件。但谷歌搜索表明,它并不是一个比较出名的。
简单的测试……
改变$.alert("msg")
alert("msg")
这看起来像你想要的吗(警报同步工作)。
如果这更像是你所追求的,下一阶段是确定你的插件是如何工作的(如果你想继续使用它)
相关文章:
- Angularjs代码未在匿名函数中运行
- 使函数只运行一次(Javascript)
- 如何在加载角度函数后运行jQuery代码
- 为什么我的回调函数没有运行
- 创建自定义函数以在函数上运行完整的多选下拉列表
- HTML5(Bootstrap)通过函数调用运行动画
- 在弹出函数中运行AJAX
- Javascript 函数如何运行
- 在每个函数之后运行一个函数
- 意外的“else”和函数未运行
- 在WordPress上运行其他javascript之后再运行javascript
- Jhon Papa Angular Style guide Factory-对象内部的函数未运行
- 如何在javascript函数中运行一个接一个的gullow函数
- 等待1个函数完成后再运行下一个函数
- Backbone Javascript:等待一个函数完成后再运行另一个函数
- Angular.js-先运行服务函数,然后再运行其他函数
- 运行默认的jQuery函数后,再运行Javascript函数
- 等到angularjs完成后再运行函数
- 暂停页面执行,直到jQuery警报关闭后,再运行函数
- 执行完一个函数后再运行jquery函数