Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击按钮时如何将自定义文本复制到剪贴板?_Javascript_Jquery - Fatal编程技术网

Javascript 单击按钮时如何将自定义文本复制到剪贴板?

Javascript 单击按钮时如何将自定义文本复制到剪贴板?,javascript,jquery,Javascript,Jquery,我有一个输入,并希望有一个副本链接旁边的标签 当我单击“复制”时,我不仅希望复制输入值,而且希望预先添加更多文本 http://www.test.com?code=+输入值 我该怎么做 //copy text function getLink(id) { var copyText = document.getElementById(id); copyText.select(); copyText.setSelectionRange(0, 99999); /* For

我有一个输入,并希望有一个副本链接旁边的标签

当我单击“复制”时,我不仅希望复制输入值,而且希望预先添加更多文本

http://www.test.com?code=
+
输入值

我该怎么做

//copy text 
function getLink(id) {
    var copyText = document.getElementById(id);
    copyText.select();
    copyText.setSelectionRange(0, 99999); /* For mobile devices */
    document.execCommand("copy");
    alert("Copied the text: " + copyText.value);
}

使用上述代码,仅复制值。

您可以在当前输入元素中编辑值,然后在复制编辑值后将其还原为原始值。大概是这样的:

函数getLink(e){ const copyPad=e.target.PreviousElement同级, storedValue=copyPad.value, copyValue='1〕http://www.test.com?code=“+存储价值; copyPad.value=copyValue; copyPad.select(); copyPad.setSelectionRange(0,99999);/*用于移动设备*/ 文件。执行命令(“副本”); log(“复制文本:+copyPad.value”); copyPad.value=存储值; } const but=document.querySelector(“#copyLink”); 但是.addEventListener('click',getLink)
复制

粘贴到这里来检查
js和浏览器有很多反黑客功能,如果你不能偷偷地将不可见的内容添加到我看到的剪贴簿中,我不会感到惊讶。。因此,我必须创建一个具有正确值的隐藏输入,然后复制它。我明白了。隐藏输入不合适,copy命令要求元素可见,尽管它必须只有在执行命令时才可见。您也可以使用现有代码来实现这一点。只需存储文本输入的值,用您自己的值替换输入中的值,选择并复制,然后恢复保存的值。用户不会看到任何这种情况发生,因为在执行完所有JS之后,页面将被下一次呈现。我明白了。。。因此,我可以附加一个tmp输入,并将其删除。是的,这也是可能的,但是我上面描述的,您也可以使用现有的输入元素。