jQuery blockUI仅显示第一次调用它

时间:2014-07-23 15:13:26

标签: jquery blockui

我正在使用带有一些AJAX调用的blockUI,并且遇到了问题。第一次调用它时,一切都按预期工作。当我执行后续的AJAX调用并尝试调用blockUI时,它不会再次阻止我的屏幕。在两种情况下写入控制台都会导致函数(opts){install(window,opts);被退回。我认为这可能是一个z值问题我尝试在我的css中添加一个比任何其他z值更高的数字的baseZ但是没有更正它。其中一个调用的简单实例如下:

$(document).ready(function() {
    $(document).on('click',".defect",function() {
        $.blockUI({ message: "<h4>Getting images ...</h4><img src='img/wait.gif'/>"});
    })
})

非常感谢任何建议。

1 个答案:

答案 0 :(得分:0)

要使用blockui,您必须&#34;取消阻止&#34; ajax调用(回调)后的blockui如下:

$.blockUI({ message: "<h1><img src='imgs/ajax-loader2.gif' > zzzzz...</h1>" }); 
$.ajax({ url: myurl.php, type: 'POST',async:true,  dataType: 'html', 
    success: function(msg){
        $.unblockUI(); 
    },error: function (xhr, ajaxOptions, thrownError) {alert("ERROR:" + xhr.responseText);}
});

(异步必须为真) 我作为您可以使用的替代方案阅读:

$(document).ajaxStart($.blockUI).ajaxStop($.unblockUI);

但我更愿意自己管理它。