0

每次用户按下回车键时,我都会尝试在页面上插入一个新的文本字段。

我的代码

   $(":text").on("keypress", function(e) {
if (e.keyCode == '13') {
    e.preventDefault()
    $(this).after("<p><input type='text' class='textfield' maxlength='10' value=''/>      <span></span> </p>")
}

    });

当我在原始文本字段上按 enter 时会出现一个新文本字段,但新文本字段不会对任何按下作出反应。我认为 on-function 类似于 live,这应该是解决此类问题的方法。怎么了?

4

2 回答 2

0

您需要为新添加的元素进行事件委托。

通过使用 on() 函数来使用事件委托

前任:

$("#parent").on('keypress', 'textboxselector', function(event) {

----do the things here 
});
于 2013-07-04T10:01:54.470 回答
-1

请参考以下代码

        $(".textfield").live("keypress", function (e) {
        if (e.keyCode == '13') {
            e.preventDefault();
            $(this).after("<p><input type='text' class='textfield' maxlength='10' value=''/>      <span></span> </p>")
        }

    });
于 2013-07-04T10:08:13.603 回答