要实现的是利用js点击自定义的复制按钮,让邀请码复制到剪切板上,刚开始我用的是execCommand这个方法:
部分代码如下:
html部分
<div>我的邀请码<input id="invite_code" value="567w899"/></div>
<div οnclick="copyToClipboard('invite_code')" >复制</div>
js部分(要注意的是这个方法在苹果上使用无效,原理就是新创建一个input标签用于存放复制的内容,但其并不显示在页面上)
function copyToClipboard(elementId) {
// 创建元素用于复制
var aux = document.createElement("input");
// 获取复制内容
var content = document.getElementById(elementId).value;
// 设置元素内容
aux.setAttribute("value", content);
// 将元素插入页面进行调用
document.body.appendChild(aux);
// 复制内容
aux.select();
//复制选中的文字到剪贴板;
// document.execCommand('copy');
try{
document.execCommand('copy');
// // 删除创建元素
document.body.removeChild(aux);
alert("复制成功")
}catch(exception){
alert("复制失败")
}
}
后来想在苹果上使用,又尝试了clipboard.js的方法,但是这个方法发现移动端无效只有PC端有用(具体使用方法前往:https://clipboardjs.com/)