我有一个输入框,我使用jQuery的val()
方法设置值。我想在此文本框中设置值后复制到剪贴板。我正在使用document.execCommand('copy')
,但在没有用户操作时似乎不起作用。有没有不同的解决方法?
在对服务器进行AJAX调用以获取值之后,我在此文本中设置了值。这就是我想要做的。
$('#someVal').val('Some text');
el = $('#someVal');
el.focus();
el.select();
document.execCommand("copy", true);
答案 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