无法在jQuery AJAX中多次生成click事件

时间:2013-11-02 07:05:05

标签: javascript ajax jquery

   $('table tbody tr').click(function add_div() {
    if ($('#dynEdit').length > 0) {
        $('#dynEdit').remove();
        return false;
    }
    $(this).after('<div id="dynEdit"></div>');
    $.ajax(
        {
            url: '/TransJobAddress/EditAddress',
            datatype:'html',
            success: function(data,textStatus,jqXHR)
            {
                $('#dynEdit').html(data);
            },
            error:function( jqXHR, textStatus,errorThrown)
            {
                alert('The server saying:' + errorThrown);

            }
        });

});
$('#close').click(function closediv() {
    $('#addrIndex').load('/TransJobAddress/ListAddresses #addrIndex table');

});

我在mvc项目中使用它

通过点击一行,我可以使用ajax插入编辑页面,这没关系。 当使用新记录按钮插入新记录时,我正在用div =“addrIndex”替换div标签中的表列表

点击新记录框上的CANCEL按钮后,它将返回到表格列表。如果我再次点击任意一行,则无法正常工作。如何在取消新记录后再次多次编辑一行。

3 个答案:

答案 0 :(得分:1)

从绑定时的父级委托您的事件处理程序

$(document.body).on('click','tr', function(e) {//...});

答案 1 :(得分:1)

问题是当HTML被替换时,元素会丢失其绑定。尝试绑定div中的点击。

$("#addrIndex").on("click", "table tbody tr", function () {

});

答案 2 :(得分:1)

绑定点击#addrIndex jQuery on

$("#addrIndex").on('click', 'table tbody tr', function(){
   ///your code here
});