我有两个文本区域-一个用于在其中粘贴一些文本,另一个用于双击第一个文本区域中的单词。我该如何实现?
在以下情况下,我已经取得了一些成果: 1.将一些文本粘贴到文本区域 2.双击文本区域中的单词 3.查看此单词在带有ul的div中的显示方式。这个词加为li。 请参阅案例代码:
//html block
<textarea name="" id="text" cols="30" rows="10" ondblclick="copyPaste()" >Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aspernatur minus iure suscipit quam expedita? Sed minus laboriosam natus quaerat autem enim accusantium, architecto officiis aliquam pariatur. Adipisci provident tenetur velit!</textarea>
<div id="wordList" class="wordListclass">
<ul id="myList">
<li></li>
</ul>
</div>
</body>
//js block for copy-pasting words after doubleclick on the text from the texarea with id ='text'
"use strict";
function copyPaste(){
var selection = window.getSelection();
console.log(selection.toString());
var node = document.createElement("LI");
var selectionWithButton = selection;
var textnode = document.createTextNode(selectionWithButton);
node.appendChild(textnode);
document.getElementById("myList").appendChild(node);
}
现在我需要删除并添加第二个textarea。我想看看双击第一个文本区域中的文本后的单词如何出现在第二个文本区域中。重要说明-它们应具有以下结构:
word1
word2
word3
没有html标记,因为在第二个textarea中看到这些单词的列表后,我想将它们插入数据库中,因此html标记(如我提供的代码中)将是不可取的。 不幸的是,用textarea代替div元素是行不通的。 感谢大家的阅读和帮助!
答案 0 :(得分:0)
Parsed ... inventory source
像这样吗?
答案 1 :(得分:0)
如果我理解正确,您只想将所选单词粘贴到第二个文本区域而不是列表中。
为此,您只需使用文本区域的属性value
附加文本即可。
为了使文本出现在不同的行中,可以使用\n
,它是插入新行的字符。您可以找到有关转义序列的更多信息here。
您的函数可能如下所示:
function copyPaste(){
// trim() is used here to remove the whitespace at the end of the word when you dblClick on a word
const selection = window.getSelection().toString().trim();
const textarea2 = document.getElementById("pasteTextarea");
if(!textarea2.value) {
// Don't add a new line when the textarea is empty
textarea2.value = selection;
}
else {
textarea2.value += `\n${selection}`;
}
}
<textarea name="" id="text" cols="30" rows="10" ondblclick="copyPaste()" >Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aspernatur minus iure suscipit quam expedita? Sed minus laboriosam natus quaerat autem enim accusantium, architecto officiis aliquam pariatur. Adipisci provident tenetur velit!</textarea>
<textarea name="" id="pasteTextarea" cols="30" rows="10"></textarea>