Javascript Don';打开引导模式对话框时不要使用blockUI
我使用jquery BlockUI插件在执行请求时锁定屏幕。默认情况下,我为每个ajax调用设置它。但我也有引导模式,它使用ajax在内部加载数据Javascript Don';打开引导模式对话框时不要使用blockUI,javascript,jquery,ajax,twitter-bootstrap,blockui,Javascript,Jquery,Ajax,Twitter Bootstrap,Blockui,我使用jquery BlockUI插件在执行请求时锁定屏幕。默认情况下,我为每个ajax调用设置它。但我也有引导模式,它使用ajax在内部加载数据 $(document) .ajaxStart(function() { $.blockUI({ message: $('#img-loader'), css: { border: 'none', padding: '5px', 'bac
$(document)
.ajaxStart(function() {
$.blockUI({
message: $('#img-loader'),
css: {
border: 'none',
padding: '5px',
'background-color': 'transparent',
'-webkit-border-radius': '10px',
'-moz-border-radius': '10px',
opacity: .6,
color: '#fff',
cursor: 'wait'
}
});
})
.ajaxStop($.unblockUI);
问题-当我打开模式屏幕时,屏幕变暗(应用了2个blockUI)。
打开modal时如何取消UI(仅使用引导后台锁)
我尝试的是:
$('.modal').on('shown.bs.modal', function() {
$.unblockUI();
});
或
但这不起作用。BlockUI插件的屏蔽时间似乎晚了一点。您正在注册一个全局事件处理程序,它可以触发任何AJAX调用。代码没有对上下文进行区分 不幸的是。否则,我建议向请求传递一个额外的选项,如
blockUI:true
,然后处理程序将使用该选项
相反,您必须移动
$.blockUI({…})的代码将>编码到助手函数中(这样您就不必每次都编写它)。现在,每当您在想要阻止UI的地方进行AJAX调用时,您都必须调用这个helper函数。调用新助手函数的一个好地方是。向我们展示“默认情况下,我为每个ajax调用设置了它”的代码@Aarondigula,请检查更新我为blockUI添加这样的函数:$.fn.esrblockui=function(){$.blockUI({message:$('#img loader'),css:{border:'none',padding:'5px','background-color':'transparent','webkit border radius':'10px','moz border radius':'10px',opacity:'6,color:'fff',cursor:'wait'}};}
在ajax调用中的每个beforeSend上,但不是在每个请求中该块都有效…获取一些错误blockUI库中的“Uncaught TypeError:无法读取未定义的”属性“parentNode”。因此不知道要执行什么操作,$(“#img loader”)的第一个猜测可能有问题
。如果不是这样,您必须获取blockUI的未压缩版本并调试问题。是的,这是我的错…现在它似乎工作正常。谢谢您的回答
$('.modal').on('show.bs.modal', function() {
$.unblockUI();
});