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

wil*_*ill 13 jquery blockui

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

我希望它可以像这样工作

> $.blockUI();
> $.isBlockUI?():
>> true
> $.unblockUI();
> $.isBlockUI?();
>> false
Run Code Online (Sandbox Code Playgroud)

Ole*_*leg 28

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
Run Code Online (Sandbox Code Playgroud)


小智 9

看看我在这里找到什么

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

很明显,Block和unBlock sorta就像onSuccess函数一样.所以在onBlock函数上你只需设置一个全局布尔值.

希望这可以帮助!

快乐的编码!;)


Rob*_*ben 5

我使用更原始的黑客:

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

if(isUIBlocked){
  // something is displayed with an active overlay, hence stop
}
Run Code Online (Sandbox Code Playgroud)

这对我来说即使在使用.dialog()时也适用modal:true