我有以下脚本通过AJAX请求数据:
$(document).ready(function(){
$('#input').keyup(function(){
sendValue($(this).val());
});
});
function sendValue(str){
$.post("ajax.php",{ sendValue: str },
function(data){
$('#display').html(data.returnValue);
}, "json");
}
我只想在发出请求时显示DIV,并在数据恢复时隐藏它。我试过这个:
$("#loading").ajaxStart(function(){
$(this).show();
})
.ajaxStop(function(){
$(this).hide();
});
但它没有显示或隐藏,它总是显示出来。
答案 0 :(得分:3)
<强> Working jsFiddle Demo 强>
从 jQuery 1.8 开始,.ajaxStart()
方法只应附加到document
。所以:
$(document).ajaxStart(function(){
$("#loading").show();
})
.ajaxStop(function(){
$("#loading").hide();
});
参考文献:
.ajaxStart()
- jQuery API文档