jQuery:如何在我按下回车后将文本从textarea附加到段落?

时间:2016-06-05 01:17:11

标签: jquery html append enter

我希望在用户textarea时将用户从presses enter键入的文本移动到我选择的段落中。问题是输入已编入textarea。它的功能是创建一个新行,但我想用以下代码替换该函数:

当用户按下enter键时,它会将文本从textarea移动到

这是段落和textarea的html代码:

<hr id="LineOne">
<p id="UserInput"></p>
<hr id="LineOne">
<textarea placeholder="Type Message Here:"></textarea>

这是我的jQuery(这里是我认为问题正在发生的地方所以请注意:

$(document).ready(function(){
    $('textarea').bind("enterKey",function(e){
        textarea.moveTo('#UserInput');
    });
});
    $('textarea').keyup(function(e){
        if(e.keyCode == 13){
        $(this).trigger("enterKey");
        }
});

我是jQuery非常noobie / newbie我发现了堆栈溢出中的另一个问题,编辑它以满足我的需要,但它不是按照我想要的方式工作,你能告诉我为什么它不会工作以及如何解决它。

而且,我怎样才能在用户发出消息后在他们发送的消息之后放置一个空格,这样它就不会附加他们创建同一行的每条消息?

我想这样做,如果我从textarea中删除文本,段落(或UserInput)仍会保存该文本。

2 个答案:

答案 0 :(得分:1)

你可能正在寻找这个

&#13;
&#13;
Dictionary
&#13;
$(document).ready(function() {
  $('textarea').keyup(function(e) {
    // Regex for matching new lines which will be replaced with <br />
    // to make new line onto the paragraph.
    var newval = $(this).val().replace(/(?:\r\n|\r|\n)/g, '<br />');
    var para = $('#myparagraph');
    
    // Keycode 13 is the Enter key
    if (e.keyCode == 13) {
      // Append the all text inside the textarea into paragraph
      para.append(newval);
      $(this).val(''); // Clear the textbox
    }
  });
});
&#13;
&#13;
&#13;

答案 1 :(得分:1)

你不需要jquery来做这件事。只需:

&#13;
&#13;
var input = document.getElementById('input');
var output = document.getElementById('output');

input.addEventListener('keydown', function(event) { // when a key is pressed
  if (event.keyCode == 13 && input.value != '\n') { // if the key is the enter key
    output.innerHTML += '<br>' + input.value;
    input.value = '';
  }
});

input.addEventListener('keyup', function(event) { // when a key is released
  if (event.keyCode == 13) { // if the key is the enter key
    input.value = '';
  }
});
&#13;
<hr id="LineOne">
<p id="output"></p>
<hr id="LineOne">
<textarea id="input" placeholder="Type Message Here:"></textarea>
&#13;
&#13;
&#13;