如何将 <div> 复制到 <textarea> 副本以在点击 "enter keyboard button" 时也复制换行符?

How do I make <div> into <textarea> copy to copy the line break too when hitting "enter keyboard button"?

当我按下输入键盘按钮时,如何复制到以复制换行符,以便它是一个精确的副本? 现在它可以工作,但在按下输入键盘按钮时它不会复制换行符。我希望它能像现在一样工作,而无需剥离它。

NOTE 因为之前的误解我澄清一下: 请不要混淆 "copying texatea into div" 因为那和 "coping div into textarea" 不是一回事,因为代码为 "copying texatea into div" 工作与 "coping div into textarea" 不同。我需要 "coping div into textarea" 而不是相反。

我想:divtext

NOT:将文本转换为div

JavaScript:

function copyText() {
  $("#text").val($("#divtext").text())
}

html:

<textarea name="text" id="text" rows="14" cols="54" wrap="soft"></textarea>

您还可以查找回车键:

<script>
function onTextChange() {
    var key = window.event.keyCode;

    // If the user has pressed enter
    if (key === 13) {
        document.getElementById("text").value = document.getElementById("text").value + "\n*";
        return false;
    }
    else {
        return true;
    }
}
</script>
<div id="yourDiv" onkeypress="onTextChange();"></div>

如果使用.text(),很难从div换行,请尝试使用.html()

div 拆分 <br> 并使用 \n 加入 textarea

$('#text').val($('#divtext').html().split('<br>').join('\n'))

工作更新

我使用了我得到的答案中的代码,但我不得不对其进行一些修改以使其正常工作,因为我得到的答案不完整。因为我想要复制代码而不是删除代码,所以需要做的是让它默认删除,然后再次将其删除,以便在输入源代码时显示为源代码,而不是作为条纹文本。

所以这是有效的完整答案,以及我如何根据得到的不完整答案使其发挥作用。此代码有效。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script language="javascript" type="text/javascript">
function copyText() {
  $('#text').val($('#divtext').html()
  .split('<br>').join('')
  .split('<div>').join('\n')
  .split('</div>').join('')
  .split('&lt;').join('<')
  .split('&gt;').join('>')
  .split('&nbsp;').join(' ')
  .split('&amp;').join('&')
  )
}
</script>

<div id="divtext" contentEditable="true" wrap="soft" style="text-align:left; width: 499px; height: 230px;" onkeyup="copyText();"></div>
<br>
<textarea id="text" rows="34" cols="134" wrap="soft"></textarea>