在文本框中设置值后如何复制到剪贴板?

时间:2016-09-12 12:45:37

标签: javascript jquery html

我有一个输入框,我使用jQuery的val()方法设置值。我想在此文本框中设置值后复制到剪贴板。我正在使用document.execCommand('copy'),但在没有用户操作时似乎不起作用。有没有不同的解决方法?

在对服务器进行AJAX调用以获取值之后,我在此文本中设置了值。这就是我想要做的。

$('#someVal').val('Some text');
el = $('#someVal');
el.focus();
el.select();
document.execCommand("copy", true);

2 个答案:

答案 0 :(得分:0)

从这个回答:https://stackoverflow.com/a/6055620/1201725,(1026 upvotes)用户说:“自动复制到剪贴板可能是危险的,因此大多数浏览器(IE除外)使它变得非常困难。”所以对于正确的方法,你可以像这样使用“clipboard.js”:

new Clipboard('.btn');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/clipboard.js/1.5.12/clipboard.min.js"></script>

<input id="foo" value="same data">
<button class="btn" data-clipboard-target="#foo">
    Copy to clipboard
</button>

答案 1 :(得分:0)

如果您遵循以下实施,则应该没有问题。

$(document).ready(function(){
        $("a#copy-dynamic").zclip({
           path:"ZeroClipboard.swf",
           copy:function(){return $("input#dynamic").val();}
        });
    });

另外,如需进一步参考,请访问:http://www.phpgang.com/how-to-copy-text-to-clipboard-using-jquery_501.html