我正在使用blockUI与一些AJAX调用,我遇到的问题与它的工作。第一次被称为一切都如预期的那样运行。当我执行后续的AJAX调用并尝试调用blockUI时,它不会再次阻塞我的屏幕。在这两种情况下,写入控制台都会导致function (opts) {install(window, opts);}被返回。我认为这可能是一个z值问题,我试着在我的css中添加一个高于任何其他z值的数字,但这并没有纠正它。下面是其中一个调用的简单实例:
$(document).ready(function() {
$(document).on('click',".defect",function() {
$.blockUI({ message: "<h4>Getting images ...</h4><img src='img/wait.gif'/>"});
})
})
要使用blockui,必须在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);}
});
(async必须为真)你可以使用
$(document).ajaxStart($.blockUI).ajaxStop($.unblockUI);
但我更喜欢自己管理它。