原生js实现内容复制
废话不多说,直接上代码,注释写的清清楚楚
function infoCopy(copyInfo = '我要复制的内容'){
// 首页要创建一个input元素,用来实现选中需要复制的内容
const input = document.createElement('input')
// 设置一下input的样式,防止input在插入页面时被用户看到
input.style.position='fixed'
input.style.opacity=0
// 设置需要复制的内容到input的value
input.value=copyInfo
// 把input插入到页面节点中去
document.body.appendChild(input)
// 调用input的选中方法,(类似鼠标选中内容的效果)
input.select()
// 最后调用一下浏览器的原生复制方法
// (这个复制方法复制的内容就是页面中被选中的内容,所以一开始才要创建input,因为inpuy有select方式可以实现选中内容)
// document.execCommand('copy')复制成功后会返回true,可以用来判断是否复制成功
document.execCommand('copy')?alert('复制成功'):alert('复制失败')
// 复制成功之后需要移除dom中的input
document.body.removeChild(input)
}