javascript - 在纯 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");
}
解决方案
您将使用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>
推荐阅读
- c - 如何在c编程中再次显示保留的电影院座位
- sql-server - 使用 SQL Server 帐户和加密密码连接到 SQL Server 并执行 invoke-sqlcmd
- javascript - If condition does not follow (JavaScript)
- python - extracting specific data from JSON format and converting to binomial
- css - ng-bootstrap 打开焦点输入字段 css 不起作用
- html - Can't give width on paragraph tag
- arrays - 以编程方式在数组中设置按钮标题
- cmake - CMake 没有找到 CMakeLists.txt
- javascript - React.js 组件生命周期、状态行为和 JavaScript 的异步特性
- c# - Octokit 创建的存储库未出现在网站上