我有一个textbox & button,看起来像这样:
<div class="col-xs-11" style="padding:20px 0 ">
<input type="text" class="form-control txtKeywords" id="txtKeyw" style="margin-bottom:10px; height:45px;" maxlength="80" placeholder="Click on keywords to combine your title">
<button type="submit" class="btn btn-space btn-success btn-shade4 btn-lg copyToClipboard">
<i class="icon icon-left s7-mouse"></i> Copy to Clipboard
/button>
当用户单击复制到剪贴板按钮时,我想将文本框的内容复制到剪贴板中,如下所示:
$(document).on("click", ".copyToClipboard", function () {
copyToClipboard("txtKeyw");
successMessage();
});
其中copyToClipboard
函数的定义为:
function copyToClipboard(element) {
var $temp = $("<input>");
$("body").append($temp);
$temp.val($(element).text()).select();
document.execCommand("copy");
$temp.remove();
}
但是当我这样做时,什么也没有发生--没有值从文本框复制到剪贴板...我做错了什么?
更多信息:
- 这在Chrome 59 64位和Firefox 54 32位中都会发生。
successMessage()
被调用并显示在浏览器中。- 在元素的ID前面添加
#
并不能解决这个问题。
4条答案
按热度按时间rwqw0loc1#
**步骤1:**像这样更改
copyToClipboard(element)
:*第二步: 给予你的按钮一个id,然后给它添加一个事件监听器,如下所示:
erhoui1w2#
试试这个,这是正确的方法。
第一步:
第二步:
eh57zj3b3#
copyToClipboard()
获取一个元素作为参数。txtKeyw
是id,你必须把#
放在它前面。ovfsdjhp4#
我相信document.execCommand('copy ')现在已经被弃用了,在Edgev113.0和Operav98.0上测试过了
使用这个代替: