有没有办法判断 $.blockUI(); 是否有效已被调用但 $.unblockUI() 尚未被调用? 理想情况下,这应该能够阻止整个页面和特定元素。
我希望它能像这样工作
> $.blockUI();
> $.isBlockUI?():
>> true
> $.unblockUI();
> $.isBlockUI?();
>> false
var data = $('#element').data();
//will return Object like: { blockUI.isBlocked=1, blockUI.onUnblock=null}
if (data["blockUI.isBlocked"] == 1)
// is blocked
else
// is not blocked
看看我发现了什么在这里
$(document).ready(function() {
$('#demo14').click(function() {
$.blockUI({
fadeIn: 1000,
timeout: 2000,
onBlock: function() {
alert('Page is now blocked; fadeIn complete');
}
});
});
显然有一个用于 Block 和 unBlock 的函数,有点像 onSuccess 函数。 因此,在 onBlock 函数中,您只需设置一个全局布尔值即可。
希望这有帮助!
快乐编码! ;)
我使用更原始的技巧:
var isUIBlocked = $('.ui-widget-overlay:visible').length > 0;
if(isUIBlocked){
// something is displayed with an active overlay, hence stop
}
即使将
.dialog()
与 modal:true
一起使用,这对我也有效
这可以找到当前被阻止的所有特定元素:
const $blockedElements = $("*").filter(function() { return $(this).data("blockUI.isBlocked") === 1 });