javascript-如何在使用“文本/纯文本”进行粘贴时保持换行符?

前端之家收集整理的这篇文章主要介绍了javascript-如何在使用“文本/纯文本”进行粘贴时保持换行符? 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

这个问题已经在这里有了答案:            >            Javascript trick for ‘paste as plain text` in execCommand                                    10个
>            Dealing with line Breaks on contentEditable DIV                                    6个
编辑:不是重复

实际上,这里甚至提到并链接标记为重复的问题.问题的标题和目的彼此完全不同.另一个问题的答案之一可以说是一个完全不同的原因(与IE兼容),可以被认为可以回答这个问题,并且很难理解为对该问题的答案.

原始问题

我从这个Javascript trick for ‘paste as plain text` in execCommand得到了以下代码

我按预期工作.它给了我纯文本.

但是,尽管我想摆脱所有文本格式,但我只想保留复制文本的换行符?有没有办法解决代码以实现此行为?

注意:作为示例,似乎我们在此处在Stack Overflow上编写问题的问题编辑器的工作原理完全相同.摆脱一切,但遵守换行符.

// ALLOW TEXT ONLY ON PASTE
  function onPaste(e) {
    e.preventDefault();
    // GET TEXT REPRESENTATION OF CLIBOARD DATA
    const text = (e.originalEvent || e).clipboardData.getData('text/plain');
    // INSERT TEXT MANUALLY
    document.execCommand("insertHTML",false,text);
  }

SNIPPET

function onPaste(e) {
    e.preventDefault();
    // GET TEXT REPRESENTATION OF CLIBOARD DATA
    const text = (e.originalEvent || e).clipboardData.getData('text/plain');
    // INSERT TEXT MANUALLY
    document.execCommand("insertHTML",text);
}

document.getElementById("root").addEventListener("paste",onPaste);
#root {
  border: 1px dotted blue;
  
}
<div>Below is a contenteditable DIV</div>
<div id="root" contenteditable>

</div>

<div><br><br>Copy both paragraphs to the contenteditable div</div>
<p>First <b>Paragraph</b></p>
<p>Second Paragraph</p>
最佳答案
使用命令insertText而不是命令insertHTML.
原文链接:https://www.f2er.com/html/530499.html

猜你在找的HTML相关文章