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

unable to generate click event more than once in jQuery AJAX

本文关键字:事件 jQuery AJAX      更新时间:2023-09-26
   $('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 插入编辑页面,这没关系。当使用新记录按钮插入新记录时,我正在用 Id="addrIndex" 替换div 标签中的表列表

单击新记录框上的"取消"按钮后,它将返回到表列表。如果我第二次再次单击任何一行,则没有任何效果。取消新记录后,我怎样才能再次编辑一行。

绑定时存在的父级委托事件处理程序

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

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

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

绑定点击 #addrIndex jQuery on

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