背景:在一個後臺系統中需要一鍵複製文章鏈接(如下圖),需要自動複製鏈接給用戶用,用了原生js document.ExecCommand("copy"),發現基本瀏覽器都不兼容.
解決:遂找第三方js,於是看到了clipboard;
官網上好幾種用法,配合頁面元素。但是都不是我要用的。我的需求是,點擊按鈕,複製表格內行內某個字段。於是我在點擊時,虛擬添加一個button,然後綁定clipboard事件,自動觸發點擊事件,完成複製後移除剛添加的button元素。具體如下:
var btn = document.createElement("button");
btn.id = 'copyBtn';
btn.setAttribute("data-clipboard-text", content);
document.body.appendChild(btn);
//實例化 ClipboardJS對象;
var copyBtn = new ClipboardJS('#copyBtn');
$('#copyBtn').click();
copyBtn.on("success", function (e) {
// 複製成功
//alert(e.text);
e.clearSelection();
});
copyBtn.on("error", function (e) {
//複製失敗;
console.log(e.action)
});
document.body.removeChild(btn);