提问人:Oříšek 提问时间:3/14/2021 更新时间:3/14/2021 访问量:377
将所选文本粘贴到另一个文本区域
Paste selected text to another textarea
问:
是否可以使用纯 JS 将选定的文本粘贴到指定的 textarea 中?就我而言,我想在其中一个文本区域中选择文本,当按下 ctrl 和 A 时,所选文本将粘贴到最后一个 (V1) 文本区域。
我发现了类似的情况(https://jsfiddle.net/QenBV/1/),但它仅适用于 1 个输入文本区域,但我有大量文本区域。
function Addkey(e) {
if (e.ctrlKey && e.keyCode == 65) {
e.preventDefault();
document.execCommand("copy");
}
}
document.addEventListener('keydown', Addkey, false);
<textarea>Text1</textarea><br/>
<textarea>Text2</textarea><br/>
<textarea>Text3</textarea><br/>
<p></p>
<hr/>
<p></p>
<textarea id="V1"></textarea><br/>
答:
0赞
Bibek Chaulagain
3/14/2021
#1
您可以简单地使用 javascript/jquery 找出聚焦的文本字段,然后在选中时复制文本并将其连接到 V1 文本区域中的现有文本 或者您可以简单地在文本字段的末尾添加一个按钮,单击该按钮时,您可以使用 javascript/jquery 查找每个文本字段的文本并连接每个文本并粘贴到 v1 文本区域
评论
0赞
Leo
3/14/2021
没有标点符号很难阅读整个段落,你能改进一下吗?谢谢。
0赞
Raju Ahmed
3/14/2021
#2
根据您的问题,以下是您要从中将文本复制给其他人的第一个文本区域
<textarea rows="5" cols="80" id="input" onkeyup="copySelected(event)" >One two three</textarea>
并且您要将所选文本粘贴到以下文本区域的
<textarea rows="5" cols="80" id="selection" class="selection"></textarea>
<textarea rows="5" cols="80" id="selection1" class="selection"></textarea>
<textarea rows="5" cols="80" id="selection2" class="selection"></textarea>
<textarea rows="5" cols="80" id="selection3" class="selection"></textarea>
<textarea rows="5" cols="80" id="selection4" class="selection"></textarea>
<textarea rows="5" cols="80" id="selection5" class="selection"></textarea>
<textarea rows="5" cols="80" id="selection6" class="selection"></textarea>
这将是您的纯 javascript 代码。
<script>
function getSelectedText(el) {
if (typeof el.selectionStart == "number") {
return el.value.slice(el.selectionStart, el.selectionEnd);
} else if (typeof document.selection != "undefined") {
var range = document.selection.createRange();
if (range.parentElement() == el) {
return range.text;
}
}
return "";
}
function copySelected(event) {
if(event.ctrlKey && ())
var srcTextarea = document.getElementById("input");
var destTextarea = document.getElementsByClassName("selection");
var txtd=getSelectedText(srcTextarea);
<!-- if u want to paste the text only last one of your textarea -->
destTextarea[destTextarea.length-1].value = txtd;
<!-- if u want to paste the text all of the textarea then use following code block -->
/*
for(i=0; i<destTextarea.length; i++){
destTextarea[i].value = txtd;
}
*/
}
</script>
在这里,当您在第一个文本区域中按“ctrl + a”时,文本将被粘贴到所有其他文本区域中。
上一个:下拉内容可见,溢出滚动
下一个:检查输入是否包含值或其他值
评论
<textarea>
ctrl/cmd
a