我有一个很好的模式,可以在通过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>
你需要一个 ajax 调用来解锁:
$(document).ready(function() {
$('#ninja_forms_field_50').click(function() {
$.blockUI({ message: $('#rLo') });
// Your ajax call here
});
});
我没有使用它,但是如果blockUI是一个函数,那么为什么不使用unblockUI而不使用()? 可能是问题所在?
你的 Ajax 请求在哪里发生?在您提供的代码中没有 Ajax 调用,并且由于 ajaxStop() 仅在 Ajax 请求完成时触发,因此您永远不会评估该函数。
如果您正在正确执行 Ajax 调用并且未进行解锁,则可以考虑在将 global
选项设置为 true
的情况下触发 Ajax 请求。
参考: http://api.jquery.com/ajaxStop/