html 文本区域当通过键盘或鼠标选择时尾随新行

lsmd5eda  于 2023-01-24  发布在  其他
关注(0)|答案(1)|浏览(107)

如果我用3行文本和3个换行符初始化一个文本区域

<textarea rows="10" cols="50">
A
B
C


</textarea>

当你用鼠标突出显示文本时,剪贴板将包含所有3个新行。

当您使用ctrl+a突出显示文本并复制时,剪贴板将包含额外的第4个新行。

这给我正在使用的WYSIWYG编辑器带来了一些问题。无论文本是用键盘还是鼠标高亮显示,如何使复制粘贴行为都保持不变

tvokkenx

tvokkenx1#

好的。但是问题在哪里呢?在这两种情况下,剪贴板中的内容是相同的。
打开控制台并尝试以下操作:

function showCB() {
  let text = window.getSelection();
  text = text.toString();
  console.log(text.length);
}
document.addEventListener('mouseup', showCB);
document.addEventListener('keyup', showCB);
document.addEventListener('selectionchange', showCB);
<textarea rows="10" cols="50">
A
B
C


</textarea>

相关问题