首页 > 解决方案 > 在纯 JavaScript 中聚焦特定文本区域时选择文本并复制到剪贴板?

问题描述

我的页面上有很多文本区域

<textarea onClick="copyToClipboard(this);">mobile</textarea>
<textarea onClick="copyToClipboard(this);">computer</textarea>
<textarea onClick="copyToClipboard(this);">chair</textarea>
.
.
.

我想在不使用任何库的情况下以纯 JavaScript 聚焦该文本区域时选择文本并复制到剪贴板。

我的js代码是

function copyToClipboard()
{
   this.select(); // I don't know how to select in JavaScript
   document.execCommand("copy");

}

标签: javascript

解决方案


您将使用window.getSelection()纯 Javascript 的函数获取选定的文本。

我已根据您的要求编辑了代码。要获取所有选定的 textarea 内容,请使用select()函数。

function copyToClipboard(elem) {
console.log(elem.value)
 elem.focus();
 elem.select();

document.getElementById('text').innerHTML = window.getSelection();
document.execCommand("copy");
}
<textarea class onClick="copyToClipboard(this)">Computer</textarea>
<textarea class onClick="copyToClipboard(this)">Mouse</textarea>
<textarea class onClick="copyToClipboard(this)">Keyboard</textarea>

<p id="text"></p>


推荐阅读