Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击事件不处理动态Id_Javascript_Dynamic_Html Table_Click - Fatal编程技术网

Javascript 单击事件不处理动态Id

Javascript 单击事件不处理动态Id,javascript,dynamic,html-table,click,Javascript,Dynamic,Html Table,Click,我正在创建一个动态表,并希望通过单击'+posttimestamp+''+post_txt+''+positionr+''+bride+'')来显示一个表单; } $(“#”+后时间戳)。单击(函数(e){ e、 预防默认值(); $('div.form').show(); } 尝试更改该选项 $('#'+posttimestamp)。单击(函数(e){…}) 到 $('#'+posttimestamp).live(“单击”,函数(e){…}) 您可能遇到这样的情况:jQuery试图将单击事件绑

我正在创建一个动态表,并希望通过单击
'+posttimestamp+''+post_txt+''+positionr+''+bride+'')来显示一个表单;
}
$(“#”+后时间戳)。单击(函数(e){
e、 预防默认值();
$('div.form').show();
}
尝试更改该选项

$('#'+posttimestamp)。单击(函数(e){…})

$('#'+posttimestamp).live(“单击”,函数(e){…})

您可能遇到这样的情况:jQuery试图将单击事件绑定到DOM中尚不存在的
.append()
-ed表单元格。使用
.live()
将单击事件绑定到现在或将来存在的元素

使用表ID用作选择器的原因是,在调用
时,该表肯定已经存在于DOM中。单击()

尝试:


你的标记看起来怎么样?什么是
$('#'+posttimestamp)
你能发布一个提琴来复制这个问题吗?谢谢,这是有效的。根据你的回答,我做了一些进一步的研究,发现从jQuery 1.7开始,.live()方法已被弃用。使用.on()附加事件处理程序。我也尝试了.on方法,但没有成功。奇怪,因为语法看起来与.live几乎相同。
$.each(json, function (index, value) {
    var posttimestamp = value.Post_timestamp;
    var replytimestamp = value.Reply_timestamp;
    var topic = value.Topic;
    var post_txt = value.Post_txt;
    var reply_txt = value.Reply_txt;
    var species = value.Species;
    var postuser = value.Post_User;
    var replyuser = value.Reply_User;
    var medcond = value.MedCondPrimary;
    var breed = value.Breed;

    if (value.Post_timestamp != check) {
        var newpost = 'y';
    } else {
        var oldpost = 'y';
    }


    if (newpost) {
        $('#table2').append('<tr><td   id="posttopic" colspan="2"><a href="forum24.php"           id=' + posttimestamp + '>' + topic + '</a></td><td></td></tr><tr><td id=' + "post" + posttimestamp + '>' + posttimestamp + '</td><td  id=' + "post" + posttimestamp + 'colspan="3">' + post_txt + '</td><td>' + postuser + '</td><td>' + breed + '</td></tr>');
    }

    $('#' + posttimestamp).click(function (e) {
        e.preventDefault();
        $('div.form').show();
    }
 $('#' + posttimestamp).live("click", function (e) {
     e.preventDefault();
     $('div.form').show();
 }