2011-10-26 62 views
12

有沒有辦法判斷$ .blockUI();已被調用,但$ .unblockUI()尚未被調用?理想情況下,這應該能夠用於阻止整頁和特定元素。jquery blockUI判斷頁面或特定元素是否被阻塞

我期望它的工作是這樣的

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

回答

8

看我找到了什麼here

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

顯然有一個用於阻止和取消阻止幾分像的onSuccess功能。所以在onBlock函數中,您只需設置一個全局布爾值即可。

希望這會有所幫助!

快樂編碼! ;)

24
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 
+5

這甚至當這對我的作品應該是公認的答案。 –

+0

同意。它更直接地回答了這個問題。 –

5

我用比較原始的黑客:

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

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

使用.dialog()modal:true

相關問題