【问题标题】:jQuery BlockUI not working when called twicejQuery BlockUI在调用两次时不起作用
【发布时间】:2016-05-18 09:47:25
【问题描述】:

我在页面加载时使用jQuery BlockUI Plugin(第一件事):

<script>
    $.blockUI({ message: null });
</script>

当所有内容加载完毕后,整个页面就会解除阻塞:

$(window).load(function () {
    $.unblockUI();
});

它工作正常,但我不能像这样再次阻止 ui:

$("#buttonFoo").click(function(){
    $.blockUI(); //nothing happens
    doStuff(); //I want screen blocked while doing stuff
    $.unblockUI();
});

doStuff() 被调用但屏幕未被阻塞。我应该做些什么吗?

[编辑]

它有效,但正如@GuruprasadRao 所说,$.unblockUI() 没有等待 doStuff() 完成。我是这样解决的:

$("#buttonFoo").click(function(){
      $.blockUI({
        onBlock: function() {
            doStuff();
            $.unblockUI();
        }
    });
});

【问题讨论】:

  • 任何console errors?
  • @GuruprasadRao 不,控制台没有抛出任何东西。
  • 它有效,但我怀疑您无法查看它,因为$.unblockUI(); 可能不会等到您的ajax 请求doStuff()
  • 是的,就是这样。我将使用解决方案编辑问题。谢谢@GuruprasadRao
  • 将其添加为答案并接受它..否则问题将被删除..

标签: javascript jquery load blockui jquery-blockui


【解决方案1】:

它有效,但正如@GuruprasadRao 所说,$.unblockUI() 没有等待doStuff() 完成。我是这样解决的:

$("#buttonFoo").click(function(){
      $.blockUI({
        onBlock: function() {
            doStuff();
            $.unblockUI();
        }
    });
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-30
    • 2016-03-23
    • 1970-01-01
    • 1970-01-01
    • 2017-06-10
    • 1970-01-01
    相关资源
    最近更新 更多