2013-11-03 124 views
2

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

$(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> 
+0

我发现了,我使用(忍者表格),WordPress的形式插件使用了jQuery插件当作ajaxForm和插件的开发是不确定的,如果.ajaxStop被称为在所有。他提到我应该可以使用jQuery事件:submitResponse在表单完成提交时触发动作,但我无法在任何地方找到对此事件的任何引用。 :( – damrakred

回答

0

你需要一个Ajax调用用于疏通:

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

     // Your ajax call here 
    }); 
}); 
0

我没有使用它,但如果blockUI是一个功能,所以为什么要使用unblockUI没有() ?可能是这个问题?

0

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

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

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