我实际上已经看到了一些关于此的问题,其中大部分来自至少5或6年前。
我想要一个输入框:
<input id="copy-text" type="text" value="Click this text!">
以下是我一直在尝试使用的JavaScript:
document.getElementById("copy-text").onclick = function() {
this.select();
execCommand('copy');
alert('This is a test...');
}
我知道我的代码不起作用。如果我删除execCommand('copy');
,则弹出alert()
,但似乎在该行遇到错误。我也尝试过this.execCommand('copy');
,不知道该怎么做。
小提琴:https://jsfiddle.net/6v24k4sk/
我的想法是,我希望用户单击输入框,它将选择所有文本,然后将其复制到剪贴板。
有什么想法吗?
答案 0 :(得分:12)
您应该在execCommand前放置一个文档。。
document.getElementById("copy-text").onclick = function() {
this.select();
document.execCommand('copy');
alert('This is a test...');
}
在这里你可以找到一个有效的例子: https://jsfiddle.net/9q3c1k20/
编辑:
该函数还会返回浏览器是否支持此功能。我认为您应该检查该值,因为execCommand仍然没有最终规范,因此无法保证在所有浏览器中都有效。
答案 1 :(得分:0)
将此功能与您的 copy_btn 一起使用(不带 onclick 功能)。
function function_name() {
var c = document.getElementById("copy");
c.select();
document.execCommand('copy');
}