$('.myDiv').click(function(event){
$.ajax({
url: '',
dataType: 'json',
success: function(json) {
for (var i = 0; i < json.length; i++) {
var response = json[i];
$('.result_new').append('<p>' + response.name + '</p>');
}
//$('.content').append('<p>' + response.total + '</p>');
}
});
})
event.stopPropagation()
不会阻止重复调用ajax调用。在Jquery中有这个函数吗?
答案 0 :(得分:2)
$('.myDiv').click(function(){
if( !$(this).hasClass('loading') ) {
//add control class
$(this).addClass('loading');
//do ajax...
$.ajax({
success: function() {
$('.myDiv').removeClass('loading')
}
})
}
});
答案 1 :(得分:1)
event.stopPropagation()
只能阻止事件冒泡(从.myDiv到它的父元素,直到到达窗口)。它不会阻止函数执行。
您可以使用各种方法来识别请求是否已发送,例如set .data()
,例如:
$(".myDiv").click(function() {
if (typeof $(this).data('inTheMiddleOfAnAJAXCall') == "undefined") {
$(this).data('inTheMiddleOfAnAJAXCall', true);
// Create an AJAX Call
}
});