添加动态元素时刷新JQuery选择器

时间:2013-06-18 22:57:08

标签: javascript jquery html jquery-selectors refresh

在下一个代码中,我使用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); } }); } });

1 个答案:

答案 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);
        }
    });
});
相关问题