在接下来的代码中,我使用 AJAX 调用 php 脚本,然后#inner_div
使用 JSON 响应进行更新。与此同时,一个#gimme_moar
按钮被注入到#inner_div
因此我添加了单击处理程序以询问更多结果。
因此,我们将再次使用 ajax 调用相同的 PHP 脚本,然后我们将追加 JSON 响应,#tabla
该响应是#inner_div
.
一切都按预期工作,但有一件事情......$(".faulty_selector")
正在处理前 50 个“行”......如果我继续添加“行”,它们将不会被捆绑$(".faulty_selector")
,如果我再次添加这个处理程序,它会复制自己在结束与$(".faulty_selector")
我们单击#gimme_moar
按钮一样多的执行。
$.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);
}
});
}
});
根据很多人的说法,live() 或 on() 应该能够毫无问题地处理这种情况......但此时我正在使用 on('clic', etc etc) 并且它不起作用...
有什么方法可以刷新/重新绑定 50 new$(".faulty_selector")
吗?