jQuery通过.keypress()和.delegate()获取动态创建内容的价值

时间:2015-10-08 04:50:43

标签: javascript php jquery ajax

我有这个代码,在使用.keypress后似乎无法检索.delegate函数上特定ID的值。 ID和其他内容实际上是通过AJAX调用动态生成的。

    $(document).delegate('.edit_tr', 'click', function(){

        var cont_det_id = $(this).attr('id');
        $("#name_" + cont_det_id).hide(); //hide span
        $("#input_name_" + cont_det_id).show(); //show editable box
        //alert cont_det_id works good and gets correct ID

    }).keypress(function(e){
        if(e.which == 13) { //if statement for pressing enter button
            var cont_det_id = $(this).attr('id');
            //alert cont_det_id gets undefined
        }
    });

我正在使用之前正在使用的旧模板,所以jQuery版本是1.7.x.任何人都有任何想法的解决方法?感谢。

1 个答案:

答案 0 :(得分:1)

Arun P Johny在评论中提出的建议对我有用。所以我在这里发布,希望这对某些人有益。

$(document).delegate('.edit_tr', 'click', function(){

    var cont_det_id = $(this).attr('id');
    $("#name_" + cont_det_id).hide(); //hide span
    $("#input_name_" + cont_det_id).show(); //show editable box
    //alert cont_det_id works good and gets correct ID

}).delegate('.edit_tr', 'keypress', function (e) {
    if(e.which == 13) { //if statement for pressing enter button
        var cont_det_id = $(this).attr('id');
        //alert cont_det_id good here
    }
});