我正在尝试创建一个中等风格的项目,在该项目中,在文本区域中按Enter键将在其后创建另一个文本区域。
我尝试将jQuery与append()和html()结合使用,但都没有成功。
这是我目前拥有的方法:
$('textarea').keypress(function(event)
{
if (event.keyCode == 13)
{
event.preventDefault();
$('textarea').append("<textarea>New Textarea</textarea>");
}
});
我该怎么做?
答案 0 :(得分:1)
使用after
:
$("textarea").keypress(function(event) {
if (event.keyCode == 13) {
event.preventDefault();
$(this).after("<textarea>New Textarea</textarea>");
}
});
答案 1 :(得分:1)
您可以使用on
keypress
事件,以便附加的textarea
也具有该事件。使用after
在其后附加HTML元素。
$('body').on('keypress', 'textarea', function(event) {
if (event.keyCode == 13) {
event.preventDefault();
$(this).after("<textarea>New Textarea</textarea>");
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<textarea>New Textarea</textarea>
答案 2 :(得分:0)
使用insertAfter
代替append
$('<textarea>New Textarea</textarea>').insertAfter(this);