【问题标题】:jquery blockUI tell if page or specific element is blockedjquery blockUI 判断页面或特定元素是否被阻止
【发布时间】:2011-12-15 23:02:54
【问题描述】:

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

我希望它能像这样工作

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

【问题讨论】:

    标签: jquery blockui


    【解决方案1】:
    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
    

    【讨论】:

    • 同意。它更直接地回答了这个问题。
    【解决方案2】:

    看看我发现了什么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 函数上,您只需设置一个全局布尔值。

    希望这会有所帮助!

    编码愉快! ;)

    【讨论】:

      【解决方案3】:

      我使用更原始的 hack:

      var isUIBlocked = $('.ui-widget-overlay:visible').length > 0;
      
      if(isUIBlocked){
        // something is displayed with an active overlay, hence stop
      }
      

      即使将.dialog()modal:true 一起使用,这也适用于我

      【讨论】:

        猜你喜欢
        • 2014-03-23
        • 2014-10-07
        • 1970-01-01
        • 2010-10-20
        • 1970-01-01
        • 2011-11-02
        • 2017-10-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多