我现在用的辉煌BlockUI,并使用默认的禁用BlockUI某些AJAX调用
$(document).ajaxStart($.blockUI).ajaxStop($.unblockUI);
这是伟大的设置它 - 除了当我在页面上添加一个自动完成元素,然后blockUI一旦用户开始输入就会开始踢球。而不是明确设置ajax调用什么来启动块UI,任何人都可以想出一种方法来禁用某些ajax函数的blockUI功能?
我现在用的辉煌BlockUI,并使用默认的禁用BlockUI某些AJAX调用
$(document).ajaxStart($.blockUI).ajaxStop($.unblockUI);
这是伟大的设置它 - 除了当我在页面上添加一个自动完成元素,然后blockUI一旦用户开始输入就会开始踢球。而不是明确设置ajax调用什么来启动块UI,任何人都可以想出一种方法来禁用某些ajax函数的blockUI功能?
你可以做这样的事情:
var dontBlock = false;
$(document).ajaxStart(function(){
if(!dontBlock)
$.blockUI();
}).ajaxStop($.unblockUI);
// And in the ajax methods (to be excluded), set dontBlock accordingly
$('#autocomplete').keydown(function(){
dontBlock = true;
$.ajax({
// url, data etc.
success: function(){ dontBlock = false; }
});
});
在jQuery的Ajax调用接受不同设置一组配置Ajax请求的键/值对。所有设置都是可选的。
现在在这里,我们有以下几点:
设置名称:全球,类型:布尔,默认:真正
说明: 是否触发globa l针对此请求的Ajax事件处理程序。默认值是true。设置为false以防止像ajaxStart或ajaxStop这样的全局处理程序被触发。这可以用来控制各种Ajax事件。
实施例:
$.ajax({
global: false,
type: "POST",
url: 'ajax/test.html',
success: function(data) {
$('.result').html(data);
alert('Load was performed.');
}
});
上述例子将停止任何AJAX开始或AJAX停止事件等blockUI的执行。
太棒了!今天学到了...... :) – 2014-08-25 19:25:49