2

我有一个很好的模式,可以在通过 ajax 提交帖子时屏蔽屏幕。blockUI 启动正常,模态显示,但是当 Ajax 完成发布时模态不会解除阻塞,它只是继续显示。

$(document).ajaxStop($.unblockUI); 

$(document).ready(function() { 
    $('#ninja_forms_field_50').click(function() { 
        $.blockUI({ message: $('#rLo') }); 
    }); 
}); 

<div id="rLo" style="display:none;"> 
    <p style="font-size:33px; font-weight:300; text-align:center; line-height: 48px;">Your Recipe is Processing!</p>  
    <img src="<?php bloginfo('template_url'); ?>/images/loadinfo.net.gif" alt="Loading..." />
    <?php include(TEMPLATEPATH.'/quotes.php'); ?>
</div>
4

3 回答 3

0

您需要一个 ajax 调用来解除阻塞:

$(document).ready(function() { 
    $('#ninja_forms_field_50').click(function() { 
        $.blockUI({ message: $('#rLo') }); 

        // Your ajax call here
    }); 
}); 
于 2013-11-03T22:15:50.733 回答
0

我没有使用它,但是如果 blockUI 是一个函数,那么为什么要在没有 () 的情况下使用 unblockUI?可能是这个问题?

于 2013-11-03T22:17:42.650 回答
0

您的 Ajax 请求发生在哪里?在您提供的代码中没有 Ajax 调用,并且由于 ajaxStop() 仅在 Ajax 请求完成时触发,因此您永远不会评估该函数。

如果您正确地进行了 Ajax 调用并且没有进行解除阻塞,您可以考虑触发您的 Ajax 请求,并将global选项设置为true.

参考:http ://api.jquery.com/ajaxStop/

于 2013-11-03T22:18:37.790 回答