GRU*_*119 25 javascript jquery textarea copy
我正在寻找创建一个jQuery(或javascript)button来选择a中的所有内容textarea,然后clipboard在单击按钮时将文本复制到您的文本中.
我找到了一些使用焦点事件的例子.但我正在寻找一个按钮,你实际上必须点击选择和复制.
我该怎么做这项工作?
Moh*_*mad 50
您需要使用select()选择文本textarea和用于execCommand('copy')处理选定的文本.它在上层版本的浏览器中工作.
$("button").click(function(){
$("textarea").select();
document.execCommand('copy');
});
Run Code Online (Sandbox Code Playgroud)
你也可以在没有jquery的情况下完成这项工作,如下图所示
document.querySelector("button").onclick = function(){
document.querySelector("textarea").select();
document.execCommand('copy');
};Run Code Online (Sandbox Code Playgroud)
<button>Select</button>
<br/>
<textarea></textarea>Run Code Online (Sandbox Code Playgroud)
Mat*_*udz 10
document.execCommand('copy')现已弃用
相反,我们现在有剪贴板 API
您可以使用该writeText()属性来完成此操作:
$('button').on('click', () => {
navigator.clipboard.writeText($('textarea').val()).then(
() => {
console.log('clipboard successfully set');
},
() => {
console.error('clipboard write failed');
}
);
});
Run Code Online (Sandbox Code Playgroud)
或者只是简单地:
$('button').on('click', () => {
navigator.clipboard.writeText($('textarea').val());
});
Run Code Online (Sandbox Code Playgroud)
奖励:这适用于禁用的文本区域,并且跨浏览器兼容
不使用jQuery就可以做到这一点.
这是一个纯粹的js解决方案.
function copy() {
let textarea = document.getElementById("textarea");
textarea.select();
document.execCommand("copy");
}Run Code Online (Sandbox Code Playgroud)
<textarea id="textarea"></textarea>
<br>
<button onclick="copy()">Copy</button>Run Code Online (Sandbox Code Playgroud)