我发现了一些有趣的东西。我在旋转木马结构中使用ajax在需要时添加更多项目。它似乎工作得很好。
这将是名为ItemLoad()的函数内的ajax调用:
$.ajax({
type: "POST",
url: ajax_url,
data: args,
success: function(resp){
$('#dumpster').append(resp);
}
});
另一个函数在轮播到达结束时调用ItemLoad()
itemLoad();
$slider.ajaxComplete( function() {
console.log("ajaxdone");
//items get inserted into the DOM
});
当我运行它时,我在第一个请求时得到一个“ajaxdone”,然后在第二个请求得到两个,然后是三个......基本上ajaxComplete事件堆叠起来或者其他东西使得代码运行多次而不是一次。
我错过了什么?
答案 0 :(得分:3)
每次在itemLoad事件中,您都会继续向ajaxComplete堆栈添加相同的事件。 你没有给出完整的剧本,这并不容易说出来。
在doc ready中绑定ajaxComplete事件一次,不要每次都添加它。