jquery blockUI判断页面或特定元素是否被阻止

时间:2011-10-26 18:15:07

标签: jquery blockui

有没有办法告诉$ .blockUI();已被调用,但$ .unblockUI()尚未被调用?理想情况下,这应该能够阻止整页和特定元素。

我希望它可以像这样工作

> $.blockUI();
> $.isBlockUI?():
>> true
> $.unblockUI();
> $.isBlockUI?();
>> false

3 个答案:

答案 0 :(得分:27)

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

答案 1 :(得分:9)

看看我找到的here

  $(document).ready(function() { 
    $('#demo14').click(function() { 
        $.blockUI({ 
            fadeIn: 1000, 
            timeout:   2000, 
            onBlock: function() { 
                alert('Page is now blocked; fadeIn complete'); 
            } 
        }); 
    });

显然,Block和unBlock sorta就像onSuccess函数一样。因此,在onBlock函数上,您只需设置一个全局布尔值。

希望这有帮助!

快乐的编码! ;)

答案 2 :(得分:5)

我使用更原始的黑客攻击:

var isUIBlocked = $('.ui-widget-overlay:visible').length > 0;

if(isUIBlocked){
  // something is displayed with an active overlay, hence stop
}

即使将.dialog()modal:true

一起使用,这也适用于我