JQuery .on(' keydown',...)没有触发新元素

时间:2013-01-30 17:41:35

标签: jquery

我查看了一些相关问题,但没有人帮助我弄清楚我的问题。

我有自己的动态数据网格表单从头开始构建,可以添加/删除数据行和字段列。我正在尝试提高可用性,以便按Enter键将创建一个新的字段列和把重点放在它上面。到目前为止,这是执行此操作的代码:

$('#data_fields').on('keydown','._field',function(e){
    if(e.which==13)
    {
        $('#addfield').click();
        var o=$(this).parent().parent();
        var l=$(o).children().length-2;
        var f=$(o).find("td:eq("+l+")").find("._field");
        $(f).focus();
    }
});

#addfield是一个按钮,可在单击时添加字段列。

._field是一个输入框,其中写入了字段的名称。

#data_fields是包含其中包含._field个输入框的单元格的tr。

但是,新列中的._field输入框没有特殊的超元素keydown功能。更重要的是,如果我将('#data_fields')的{​​{1}}选择器更改为.on(),它甚至不会为当前元素提供keydown回调。

这是HTML,抱歉它有点乱,但我在PHP中使用模板和东西:

(document)

1 个答案:

答案 0 :(得分:2)

从我可以告诉它的内容,因为被追加的输入类中没有_field类。