【发布时间】:2011-12-15 23:02:54
【问题描述】:
有没有办法判断 $.blockUI();已被调用但 $.unblockUI() 尚未被调用?理想情况下,这应该能够同时阻止整个页面和特定元素。
我希望它能像这样工作
> $.blockUI();
> $.isBlockUI?():
>> true
> $.unblockUI();
> $.isBlockUI?();
>> false
【问题讨论】:
有没有办法判断 $.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
【讨论】:
看看我发现了什么here
$(document).ready(function() {
$('#demo14').click(function() {
$.blockUI({
fadeIn: 1000,
timeout: 2000,
onBlock: function() {
alert('Page is now blocked; fadeIn complete');
}
});
});
显然有一个 Block 和 unBlock 类似于 onSuccess 函数。因此,在 onBlock 函数上,您只需设置一个全局布尔值。
希望这会有所帮助!
编码愉快! ;)
【讨论】:
我使用更原始的 hack:
var isUIBlocked = $('.ui-widget-overlay:visible').length > 0;
if(isUIBlocked){
// something is displayed with an active overlay, hence stop
}
即使将.dialog() 与modal:true 一起使用,这也适用于我
【讨论】: