带有contenteditable = true的Pre标签-新行不保留在元素的text()内容中

罗伯特·帕雷

我有一个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)
    }
});

https://jsfiddle.net/6496pke5/

拉霍

使用html()而不是text()可以在Enter上创建一个换行符。不过,使用html()会将<br>标签包装<div>元素中,为防止这种行为,请使用document.execCommand()方法:

$('#notes').on('keydown', function (e) {

    if (e.keyCode === 13) {
        document.execCommand('insertHTML', false, '<br>');
        return false; 
    }

});

这是小提琴https://jsfiddle.net/6496pke5/1/

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

获取带有html标签的contenteditable div中的光标位置

如何将具有给定名称标签的元素保留在数组中?

值保留在输入中,而没有值标签

在GWT的contenteditable字段中获取带有LineBreak的RAW文本?

Selenium C#:无法从带有“pre”html 标签的文本框中读取值

PostgreSQL - 选择具有特定标签的项目,但将所有标签保留在结果中

是否可以将新实体保留在@ Pre / PostPersist侦听器中?

仅在带有“ contenteditable”标签的按钮上不触发按键按下

如何基于具有动态内容的现有表创建新表,但将历史记录保留在新表中?

保留在列表中没有适当子集的元素(从向量列表中)(在R中)

将某些列保留在pandas DataFrame中,删除其他所有内容

将某些列保留在pandas DataFrame中,删除其他所有内容

regex Python:“拉出”整个组,但将其他所有内容保留在String中

将所有内容保留在Excel文件中的引号之间

javascript:将插入符号移到元素的末尾(带有contenteditable的div)

引导程序中的PRE标签未显示所有代码

Angular ngchange不会针对<pre contenteditable =“ true”>

将所有元素保留在另一个列表中

如何检查是否只有指定的元素保留在列表中?

如何使用flexbox将所有元素保留在容器中?

如何仅保留在 R 中特定列中具有最高值的行

如何仅将具有多个值的行保留在pandas DataFrame中?

Python pandas DataFrame-将具有相同信息的行保留在3列中

如何使用带有 JSX 元素的 for 循环将集合的内容打印到 React Native 中的多个 <Text> 标签中?

带有docker-compose的Django应用将数据保留在媒体卷中

即使处理后,带有PhantomJS的线程仍保留在任务管理器中

如何只保留在javascript中带有字母的记录?

带有dbunit的phpunit:如何在各个测试中将数据保留在db中?

删除所有出现的href标签,并将文本保留在里面