之前在做网站的时候,有时候用到AJAX请求的时候发现,当给一元素绑定了某个事件,在这个事件被触发的时候就执行AJAX请求,但是如果没有及时等到服务器的响应,就回尝试频繁的触发那个事件,就得不到好的用户体验
form:http://blog.csdn.net/luokuncool/article/details/25983055
$(function(){
$('selector').bind('eventType', function(){
$.ajax({
type : 'POST',
url : 'requestURL',
dataType : 'json',
success : function(res) {
}
});
})
});
将代码进行以下修改就会更好:
$(function(){
$('selector').bind('eventType', function(){
var thisFunc = arguments.callee
, self = $(this);
self.unbind('eventType', thisFunc); //一次请求解绑事件监听函数
//可以在这里加入显示进度条的代码
$.ajax({
type : 'POST',
url : 'requestURL',
dataType : 'json',
success : function(res) {
self.bind(thisFunc); //请求完成再次绑定事件监听函数
//加入隐藏进度条的代码
}
});
})
});