0

我有一个 jQuery$.alert和一个.fadeOut(1000)连续工作,但我不喜欢我看到的结果。我只想.fadeOut(1000)在用户关闭$.alert. 我知道您实际上无法捕获警报的关闭事件,但是有人可以建议一种可能完成我正在寻找的解决方法吗?

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);} 
});

我希望我的叠加层保持可见,直到用户确认警报消息。

谢谢。

4

1 回答 1

2

$.alert 不是本机 JQuery,因此可能是一个异步操作的插件。谷歌搜索表明它不是更知名的之一。

简单的测试...

改变

$.alert("msg")

alert("msg")

这看起来像你所追求的吗(警报同步工作)。

如果这更像你所追求的,下一步是确定你的插件是如何工作的(如果你想继续使用它)

于 2013-01-15T05:56:31.823 回答