在键盘上将一个文本区域附加到另一个文本区域

时间:2019-05-12 05:08:59

标签: javascript jquery html css

我正在尝试创建一个中等风格的项目,在该项目中,在文本区域中按Enter键将在其后创建另一个文本区域。

我尝试将jQuery与append()和html()结合使用,但都没有成功。

这是我目前拥有的方法:

  $('textarea').keypress(function(event)
  {
      if (event.keyCode == 13)
      {
          event.preventDefault();
          $('textarea').append("<textarea>New Textarea</textarea>");
      }
  });

我该怎么做?

3 个答案:

答案 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);
相关问题