我有一个pre
标签,它显示从数据库中获取的文本(购物订单的注释)。我使用pre标签因为它可以显示新行。
我在它上面使用了contenteditable="true"
,这样用户就可以编辑该字段,并点击保存按钮来保存它。
然而,在保存时,当我使用field.text()
获取该字段的值时,新行并没有被保留。
复现:
HTML:
<pre id="notes" contenteditable="true">Some
test
Txt
</pre>
JS:
// Works fine here
console.log($('#notes').text());
// add some text with new lines, then "blur" the text and you can see the issue happening in the log -- new lines not preserved
$('#notes').on('blur', function (e) {
console.log($('#notes').text());
});
我正在尝试但迄今未成功的事情。
// When user presses enter on an editable field.
$('#notes').on('keydown', function (e) {
if (e.keyCode === 13) {
// trap the return key being pressed and insert new line at THIS place --- how??? (Possibly not the most elegant solution either)
}
});