Javascript Don';打开引导模式对话框时不要使用blockUI

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

我使用jquery BlockUI插件在执行请求时锁定屏幕。默认情况下,我为每个ajax调用设置它。但我也有引导模式,它使用ajax在内部加载数据

$(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();
    });