【发布时间】:2013-06-18 22:57:08
【问题描述】:
在接下来的代码中,我使用 AJAX 调用 php 脚本,然后使用 JSON 响应更新 #inner_div。与此同时,#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个新的$(".faulty_selector")?
【问题讨论】:
标签: javascript jquery html jquery-selectors refresh