每次用户按Enter键时,我都会尝试在页面上插入新的文本字段。
我的代码
$(":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,这应该可以解决这类问题。怎么了?
答案 0 :(得分:0)
您需要为新添加的元素执行事件委派。
Use event delegation使用on()函数
例如:
$("#parent").on('keypress', 'textboxselector', function(event) {
----do the things here
});
答案 1 :(得分:-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>")
}
});