答案 0 :(得分:1)
您也可以查找enter keydown:
<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>
答案 1 :(得分:1)
如果您使用div
,很难从.text()
获得换行符,请尝试使用.html()
从<br>
拆分div
并使用\n
加入textarea
$('#text').val($('#divtext').html().split('<br>').join('\n'))
答案 2 :(得分:0)
正在进行更新
我使用了我得到的答案中的代码,但我不得不修改它以使其正常工作,因为我得到的答案是不完整的。因为我希望代码被复制但没有被剥离,所以需要做的是将其剥离为默认值然后再次将其剥离,以便在键入源代码时显示为源代码,而不是条带化文本。
所以这里有完整的答案,以及我如何通过我得到的不完整的答案来实现它。这段代码有效。
<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('<').join('<')
.split('>').join('>')
.split(' ').join(' ')
.split('&').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>