在下一个代码中,我使用AJAX调用php脚本,然后使用JSON响应更新#inner_div
。除此之外,还在#gimme_moar
中注入了#inner_div
按钮,因此我添加了点击处理程序以询问更多结果。
因此,我们将再次使用ajax再次调用相同的PHP脚本,然后我们将JSON响应应用于#tabla
的{{1}}。
一切都按预期工作,但有一件事...... #inner_div
正在处理前50行"行" ...如果我继续添加"行"他们不会与$(".faulty_selector")
捆绑在一起,如果我再次添加此处理程序,它会在我们单击$(".faulty_selector")
按钮时复制自己的$(".faulty_selector")
次。
#gimme_moar
根据很多人的说法,live()或on()应该能够毫无问题地处理这种情况......但此时我正在使用(' clic'等等)并且它无法正常工作......
有没有办法刷新/重新绑定50个新的$.ajax({
type: "POST",
url: URL,
data: {
data1: '1',
data2: 2,
data3: 3
},
dataType: "json",
timeout: 25000,
success: function (data) {
var counter = 50;
$('#inner_div').html(data.answer);
$(".faulty_selector").on('click', function () {
myfunction_action(this.id);
});
$("#gimme_moar").click(function () {
$.ajax({
type: "POST",
url: "URL",
data: {
data1: '1',
data2: 2,
data3: 3
},
dataType: "json",
timeout: 25000,
success: function (data) {
counter = counter + 50;
$('#tabla').append(data.datos);
}
});
}
});
?
答案 0 :(得分:2)
委派活动
更改
$(".faulty_selector").on('click', function() { myfunction_action(this.id); });
到
$(document).on('click', ".faulty_selector", function() { myfunction_action(this.id); });
并将点击事件移至ajax
方法的外部。否则,您将绑定相同的事件以发送事件ajax请求。
似乎也错过了ajax
的结束括号。
$.ajax({
type: "POST",
url: URL,
data: {
data1: '1',
data2: 2,
data3: 3
},
dataType: "json",
timeout: 25000,
success: function (data) {
var counter = 50;
$('#inner_div').html(data.answer);
}
});
$(document).on('click', ".faulty_selector", function () {
myfunction_action(this.id);
});
$(document).on('click', "#gimme_moar", function () {
$.ajax({
type: "POST",
url: "URL",
data: {
data1: '1',
data2: 2,
data3: 3
},
dataType: "json",
timeout: 25000,
success: function (data) {
counter = counter + 50;
$('#tabla').append(data.datos);
}
});
});