Javascript 单击并复制输入文本?

Javascript 单击并复制输入文本?,javascript,Javascript,事实上,我已经看到了一些关于这方面的问题,其中大多数是至少5或6年前的问题 我想要一个输入框: <input id="copy-text" type="text" value="Click this text!"> 我知道我的代码不起作用。如果我删除execCommand('copy')然后弹出警报(),但它似乎在那一行遇到了错误。我试着把它做成this.execCommand('copy')也是,不确定在这里做什么 小提琴: 我的想法是希望用户单击输入框,它将选择所有文本,然后将

事实上,我已经看到了一些关于这方面的问题,其中大多数是至少5或6年前的问题

我想要一个输入框:

<input id="copy-text" type="text" value="Click this text!">
我知道我的代码不起作用。如果我删除
execCommand('copy')
然后弹出
警报()
,但它似乎在那一行遇到了错误。我试着把它做成
this.execCommand('copy')也是,不确定在这里做什么

小提琴:

我的想法是希望用户单击输入框,它将选择所有文本,然后将其复制到剪贴板

有什么想法吗?

你应该放一份文件。在execk命令前面

document.getElementById("copy-text").onclick = function() {
    this.select();
    document.execCommand('copy');
    alert('This is a test...');
}
在这里,您可以找到一个工作示例:

编辑:


该函数还返回浏览器是否支持此功能。我认为您应该检查该值,因为execCommand仍然没有最终规范,因此不能保证在所有浏览器中都能工作。

将此函数与您的copy\u btn一起使用(没有onclick函数)


@StephenP不,我不太擅长JS,我甚至不知道对你说实话意味着什么。也许您可以提供一些见解?@Matthew的可能副本取决于您的浏览器如何使用开发人员工具,但请尝试右键单击菜单并选择“检查”或“检查元素”;对于IE,请尝试F12。顺便说一句,
this.select()
清除选定的文本(在您的小提琴中),以便复制整个内容,而不是选定内容。删除该行,您可以单击并拖动以选择文本框中的文本,当您释放鼠标按钮时,只有选定的文本被复制到剪贴板。@StephenP谢谢!抱歉,我知道如何进入开发工具,只是不知道您在控制台中看到的这个短语是什么意思。谢谢你的提示!我正在用php动态创建一个链接,所以我希望那里的所有内容都能被选择和复制。太棒了!出于好奇,我可以理解,为什么select()必须是这样。select()但execCommand()必须是document。execCommand()但alert()前面不需要任何东西?@Matthew因为您所处的函数是(onclick)事件处理程序,
引用了事件发生的对象。在本例中,
this
控件,因此您可以对该对象调用
.select()
execCommand
函数是
document
对象的属性,因此
document.execCommand()
。。。而对window对象调用的是纯非限定的
execComand()
,并且没有
window.execCommand
函数。谢谢您提供的信息,我非常感谢。我发现JS是一门很有趣的语言,有时会让人感觉很混乱。
document.getElementById("copy-text").onclick = function() {
    this.select();
    document.execCommand('copy');
    alert('This is a test...');
}
function function_name() {
    var c = document.getElementById("copy");
    c.select();
    document.execCommand('copy');
}